code-conjure-0.5.8: bench/candidates.out
Candidates for: foo :: Int -> Int
pruning with 15/35 rules
[3,0,7,0,19,0,90,0,454] direct candidates, 0 duplicates
[3,3,8,13,29,52,139,212,629] pattern candidates, 0 duplicates
rules:
x * y == x + y
x * y == y + x
x - x == 0
x + 0 == x
0 + x == x
x - 0 == x
(x + y) + z == x + (y + z)
(x + y) + z == y + (x + z)
x - (y - z) == z + (x - y)
(x - y) - z == x - (y + z)
(x - y) - z == x - (z + y)
(x + y) - z == x + (y - z)
(x + y) - z == y + (x - z)
x + (y - x) == y
(x - y) + y == x
equations:
y + x == x + y
y + (x + z) == x + (y + z)
z + (x + y) == x + (y + z)
z + (y + x) == x + (y + z)
y + (x - z) == x + (y - z)
(x - z) + y == x + (y - z)
(z - y) + x == (x - y) + z
y - (x + y) == 0 - x
y - (y + x) == 0 - x
z - (y + z) == x - (x + y)
z - (y + z) == x - (y + x)
z - (z + y) == x - (x + y)
z - (z + y) == x - (y + x)
x + (0 - y) == x - y
(0 - y) + x == x - y
x - (x + 1) == 0 - 1
x - (1 + x) == 0 - 1
y - (y + 1) == x - (x + 1)
y - (y + 1) == x - (1 + x)
y - (1 + y) == x - (1 + x)
direct candidates:
foo x = x
foo x = 0
foo x = 1
foo x = x + x
foo x = x + 1
foo x = 1 + 1
foo x = x - 1
foo x = 0 - x
foo x = 0 - 1
foo x = 1 - x
foo x = x + (x + x)
foo x = x + (x + 1)
foo x = x + (1 + 1)
foo x = x + (x - 1)
foo x = x + (0 - 1)
foo x = 1 + (x + x)
foo x = 1 + (x + 1)
foo x = 1 + (1 + 1)
foo x = 1 + (0 - x)
foo x = 1 + (1 - x)
foo x = x - (x + x)
foo x = x - (x + 1)
foo x = x - (1 + 1)
foo x = 0 - (x + x)
foo x = 0 - (x + 1)
foo x = 0 - (1 + 1)
foo x = 1 - (x + x)
foo x = 1 - (x + 1)
foo x = 1 - (1 + 1)
pattern candidates:
foo x = x
foo x = 0
foo x = 1
foo 0 = 0
foo x = 1
foo 0 = 1
foo x = x
foo 0 = 1
foo x = 0
foo x = x + x
foo x = x + 1
foo x = x - 1
foo x = 0 - x
foo x = 1 - x
foo 1 = 0
foo x = x
foo 1 = 0
foo x = 1
foo 1 = 1
foo x = 0
foo 0 = 0
foo x = x + x
foo 0 = 0
foo x = x + 1
foo 0 = 0
foo x = x - 1
foo 0 = 0
foo x = 0 - x
foo 0 = 0
foo x = 1 - x
foo 0 = 1
foo x = x + x
foo 0 = 1
foo x = x + 1
foo 0 = 1
foo x = x - 1
foo 0 = 1
foo x = 0 - x
foo 0 = 1
foo x = 1 - x
foo 0 = 0
foo 1 = 0
foo x = 1
foo 0 = 1
foo 1 = 0
foo x = x
foo 0 = 1
foo 1 = 1
foo x = 0
foo 0 = 0
foo x = foo (x - 1)
foo 0 = 0
foo x = foo (0 - x)
foo 0 = 0
foo x = foo (1 - x)
foo 0 = 1
foo x = foo (x - 1)
foo 0 = 1
foo x = foo (0 - x)
foo 0 = 1
foo x = foo (1 - x)
foo x = x + (x + x)
foo x = x + (x + 1)
foo x = x + (x - 1)
foo x = 1 + (x + x)
foo x = 1 + (x + 1)
foo x = 1 + (0 - x)
foo x = 1 + (1 - x)
foo x = x - (x + x)
foo x = x - (x + 1)
foo x = 0 - (x + x)
foo x = 0 - (x + 1)
foo x = 1 - (x + x)
foo x = 1 - (x + 1)
foo 1 = 0
foo x = x + x
foo 1 = 0
foo x = x + 1
foo 1 = 0
foo x = x - 1
foo 1 = 0
foo x = 0 - x
foo 1 = 0
foo x = 1 - x
foo 1 = 1
foo x = x + x
foo 1 = 1
foo x = x + 1
foo 1 = 1
foo x = x - 1
foo 1 = 1
foo x = 0 - x
foo 1 = 1
foo x = 1 - x
foo 1 = 0
foo x = foo (x - 1)
foo 1 = 0
foo x = foo (0 - x)
foo 1 = 0
foo x = foo (1 - x)
foo 1 = 1
foo x = foo (x - 1)
foo 1 = 1
foo x = foo (0 - x)
foo 1 = 1
foo x = foo (1 - x)
foo 0 = 0
foo x = x + (x + x)
foo 0 = 0
foo x = x + (x + 1)
foo 0 = 0
foo x = x + (x - 1)
foo 0 = 0
foo x = 1 + (x + x)
foo 0 = 0
foo x = 1 + (x + 1)
foo 0 = 0
foo x = 1 + (0 - x)
foo 0 = 0
foo x = 1 + (1 - x)
foo 0 = 0
foo x = x - (x + x)
foo 0 = 0
foo x = x - (x + 1)
foo 0 = 0
foo x = 0 - (x + x)
foo 0 = 0
foo x = 0 - (x + 1)
foo 0 = 0
foo x = 1 - (x + x)
foo 0 = 0
foo x = 1 - (x + 1)
foo 0 = 1
foo x = x + (x + x)
foo 0 = 1
foo x = x + (x + 1)
foo 0 = 1
foo x = x + (x - 1)
foo 0 = 1
foo x = 1 + (x + x)
foo 0 = 1
foo x = 1 + (x + 1)
foo 0 = 1
foo x = 1 + (0 - x)
foo 0 = 1
foo x = 1 + (1 - x)
foo 0 = 1
foo x = x - (x + x)
foo 0 = 1
foo x = x - (x + 1)
foo 0 = 1
foo x = 0 - (x + x)
foo 0 = 1
foo x = 0 - (x + 1)
foo 0 = 1
foo x = 1 - (x + x)
foo 0 = 1
foo x = 1 - (x + 1)
foo 0 = 0
foo 1 = 0
foo x = x + x
foo 0 = 0
foo 1 = 0
foo x = x + 1
foo 0 = 0
foo 1 = 0
foo x = x - 1
foo 0 = 0
foo 1 = 0
foo x = 0 - x
foo 0 = 0
foo 1 = 0
foo x = 1 - x
foo 0 = 0
foo 1 = 1
foo x = x + x
foo 0 = 0
foo 1 = 1
foo x = x + 1
foo 0 = 0
foo 1 = 1
foo x = x - 1
foo 0 = 0
foo 1 = 1
foo x = 0 - x
foo 0 = 0
foo 1 = 1
foo x = 1 - x
foo 0 = 1
foo 1 = 0
foo x = x + x
foo 0 = 1
foo 1 = 0
foo x = x + 1
foo 0 = 1
foo 1 = 0
foo x = x - 1
foo 0 = 1
foo 1 = 0
foo x = 0 - x
foo 0 = 1
foo 1 = 0
foo x = 1 - x
foo 0 = 1
foo 1 = 1
foo x = x + x
foo 0 = 1
foo 1 = 1
foo x = x + 1
foo 0 = 1
foo 1 = 1
foo x = x - 1
foo 0 = 1
foo 1 = 1
foo x = 0 - x
foo 0 = 1
foo 1 = 1
foo x = 1 - x
Candidates for: ? :: Int -> Int -> Int
pruning with 10/23 rules
[3,3,6,9,21,39,87,180,390] direct candidates, 0 duplicates
[3,7,22,53,129,313,747,1743,4077] pattern candidates, 0 duplicates
rules:
x * y == x + y
x * y == y + x
x + 0 == x
0 + x == x
dec (x + y) == x + dec y
dec (x + y) == y + dec x
dec (x + y) == dec x + y
dec (x + y) == dec y + x
(x + y) + z == x + (y + z)
(x + y) + z == y + (x + z)
equations:
y + x == x + y
y + dec x == x + dec y
dec x + y == x + dec y
dec y + x == dec x + y
x + dec 0 == dec x
dec 0 + x == dec x
y + (x + z) == x + (y + z)
z + (x + y) == x + (y + z)
z + (y + x) == x + (y + z)
y + dec (dec x) == x + dec (dec y)
dec (dec x) + y == x + dec (dec y)
x + dec (dec 0) == dec (dec x)
dec (dec 0) + x == dec (dec x)
direct candidates:
x ? y = x
x ? y = y
x ? y = 0
x ? y = dec x
x ? y = dec y
x ? y = dec 0
x ? y = x + x
x ? y = x + y
x ? y = y + y
x ? y = dec (dec x)
x ? y = dec (dec y)
x ? y = dec (dec 0)
x ? y = dec (dec (dec x))
x ? y = dec (dec (dec y))
x ? y = dec (dec (dec 0))
x ? y = x + dec x
x ? y = x + dec y
x ? y = x + dec 0
x ? y = y + dec x
x ? y = y + dec y
x ? y = y + dec 0
x ? y = dec (dec (dec (dec x)))
x ? y = dec (dec (dec (dec y)))
x ? y = dec (dec (dec (dec 0)))
x ? y = x + (x + x)
x ? y = x + (x + y)
x ? y = x + (y + y)
x ? y = x + dec (dec x)
x ? y = x + dec (dec y)
x ? y = x + dec (dec 0)
x ? y = y + (x + x)
x ? y = y + (x + y)
x ? y = y + (y + y)
x ? y = y + dec (dec x)
x ? y = y + dec (dec y)
x ? y = y + dec (dec 0)
x ? y = dec x + dec x
x ? y = dec x + dec y
x ? y = dec x + dec 0
x ? y = dec y + dec y
x ? y = dec y + dec 0
x ? y = dec 0 + dec 0
x ? y = dec (dec (dec (dec (dec x))))
x ? y = dec (dec (dec (dec (dec y))))
x ? y = dec (dec (dec (dec (dec 0))))
x ? y = x + dec (dec (dec x))
x ? y = x + dec (dec (dec y))
x ? y = x + dec (dec (dec 0))
x ? y = x + (x + dec x)
x ? y = x + (x + dec y)
x ? y = x + (x + dec 0)
x ? y = x + (y + dec x)
x ? y = x + (y + dec y)
x ? y = x + (y + dec 0)
x ? y = y + dec (dec (dec x))
x ? y = y + dec (dec (dec y))
x ? y = y + dec (dec (dec 0))
x ? y = y + (x + dec x)
x ? y = y + (x + dec y)
x ? y = y + (x + dec 0)
x ? y = y + (y + dec x)
x ? y = y + (y + dec y)
x ? y = y + (y + dec 0)
x ? y = dec x + (x + x)
x ? y = dec x + (x + y)
x ? y = dec x + (y + y)
x ? y = dec x + dec (dec x)
x ? y = dec x + dec (dec y)
x ? y = dec x + dec (dec 0)
x ? y = dec y + (x + x)
x ? y = dec y + (x + y)
x ? y = dec y + (y + y)
x ? y = dec y + dec (dec x)
x ? y = dec y + dec (dec y)
x ? y = dec y + dec (dec 0)
x ? y = dec 0 + (x + x)
x ? y = dec 0 + (x + y)
x ? y = dec 0 + (y + y)
x ? y = dec 0 + dec (dec x)
x ? y = dec 0 + dec (dec y)
x ? y = dec 0 + dec (dec 0)
pattern candidates:
x ? y = x
x ? y = y
x ? y = 0
x ? y = dec x
x ? y = dec y
x ? 0 = x
x ? y = y
x ? 0 = x
x ? y = 0
x ? 0 = 0
x ? y = x
0 ? x = x
x ? y = 0
0 ? x = 0
x ? y = y
x ? y = x + x
x ? y = x + y
x ? y = y + y
x ? y = dec (dec x)
x ? y = dec (dec y)
x ? 0 = x
x ? y = dec x
x ? 0 = x
x ? y = dec y
x ? 0 = 0
x ? y = dec x
x ? 0 = 0
x ? y = dec y
x ? 0 = dec x
x ? y = x
x ? 0 = dec x
x ? y = y
x ? 0 = dec x
x ? y = 0
0 ? x = x
x ? y = dec x
0 ? x = x
x ? y = dec y
0 ? x = 0
x ? y = dec x
0 ? x = 0
x ? y = dec y
0 ? x = dec x
x ? y = x
0 ? x = dec x
x ? y = y
0 ? x = dec x
x ? y = 0
0 ? x = x
x ? 0 = x
x ? y = 0
0 ? x = x
x ? 0 = 0
x ? y = x
0 ? x = 0
x ? 0 = x
x ? y = y
x ? y = dec (dec (dec x))
x ? y = dec (dec (dec y))
x ? y = x + dec x
x ? y = x + dec y
x ? y = y + dec x
x ? y = y + dec y
x ? 0 = x
x ? y = x + x
x ? 0 = x
x ? y = x + y
x ? 0 = x
x ? y = y + y
x ? 0 = x
x ? y = dec (dec x)
x ? 0 = x
x ? y = dec (dec y)
x ? 0 = 0
x ? y = x + x
x ? 0 = 0
x ? y = x + y
x ? 0 = 0
x ? y = y + y
x ? 0 = 0
x ? y = dec (dec x)
x ? 0 = 0
x ? y = dec (dec y)
x ? 0 = dec x
x ? y = dec y
x ? 0 = x + x
x ? y = x
x ? 0 = x + x
x ? y = y
x ? 0 = x + x
x ? y = 0
x ? 0 = dec (dec x)
x ? y = x
x ? 0 = dec (dec x)
x ? y = y
x ? 0 = dec (dec x)
x ? y = 0
0 ? x = x
x ? y = x + x
0 ? x = x
x ? y = x + y
0 ? x = x
x ? y = y + y
0 ? x = x
x ? y = dec (dec x)
0 ? x = x
x ? y = dec (dec y)
0 ? x = 0
x ? y = x + x
0 ? x = 0
x ? y = x + y
0 ? x = 0
x ? y = y + y
0 ? x = 0
x ? y = dec (dec x)
0 ? x = 0
x ? y = dec (dec y)
0 ? x = x + x
x ? y = x
0 ? x = x + x
x ? y = y
0 ? x = x + x
x ? y = 0
0 ? x = dec (dec x)
x ? y = x
0 ? x = dec (dec x)
x ? y = y
0 ? x = dec (dec x)
x ? y = 0
0 ? x = x
x ? 0 = x
x ? y = dec x
0 ? x = x
x ? 0 = x
x ? y = dec y
0 ? x = x
x ? 0 = 0
x ? y = dec x
0 ? x = x
x ? 0 = 0
x ? y = dec y
0 ? x = x
x ? 0 = dec x
x ? y = x
0 ? x = x
x ? 0 = dec x
x ? y = 0
0 ? x = 0
x ? 0 = x
x ? y = dec x
0 ? x = 0
x ? 0 = x
x ? y = dec y
0 ? x = 0
x ? 0 = 0
x ? y = dec x
0 ? x = 0
x ? 0 = 0
x ? y = dec y
0 ? x = 0
x ? 0 = dec x
x ? y = y
0 ? x = dec x
x ? 0 = x
x ? y = y
0 ? x = dec x
x ? 0 = x
x ? y = 0
0 ? x = dec x
x ? 0 = 0
x ? y = x
x ? 0 = x
x ? y = x ? dec y
x ? 0 = x
x ? y = y ? dec y
x ? 0 = x
x ? y = 0 ? dec y
x ? 0 = x
x ? y = dec x ? x
x ? 0 = x
x ? y = dec x ? y
x ? 0 = 0
x ? y = x ? dec y
x ? 0 = 0
x ? y = y ? dec y
x ? 0 = 0
x ? y = 0 ? dec y
x ? 0 = 0
x ? y = dec x ? x
x ? 0 = 0
x ? y = dec x ? y
0 ? x = x
x ? y = x ? dec y
0 ? x = x
x ? y = y ? dec y
0 ? x = x
x ? y = dec x ? x
0 ? x = x
x ? y = dec x ? y
0 ? x = x
x ? y = dec x ? 0
0 ? x = 0
x ? y = x ? dec y
0 ? x = 0
x ? y = y ? dec y
0 ? x = 0
x ? y = dec x ? x
0 ? x = 0
x ? y = dec x ? y
0 ? x = 0
x ? y = dec x ? 0
x ? y = dec (dec (dec (dec x)))
x ? y = dec (dec (dec (dec y)))
x ? y = x + (x + x)
x ? y = x + (x + y)
x ? y = x + (y + y)
x ? y = x + dec (dec x)
x ? y = x + dec (dec y)
x ? y = y + (x + x)
x ? y = y + (x + y)
x ? y = y + (y + y)
x ? y = y + dec (dec x)
x ? y = y + dec (dec y)
x ? y = dec x + dec x
x ? y = dec x + dec y
x ? y = dec y + dec y
x ? 0 = x
x ? y = dec (dec (dec x))
x ? 0 = x
x ? y = dec (dec (dec y))
x ? 0 = x
x ? y = x + dec x
x ? 0 = x
x ? y = x + dec y
x ? 0 = x
x ? y = y + dec x
x ? 0 = x
x ? y = y + dec y
x ? 0 = 0
x ? y = dec (dec (dec x))
x ? 0 = 0
x ? y = dec (dec (dec y))
x ? 0 = 0
x ? y = x + dec x
x ? 0 = 0
x ? y = x + dec y
x ? 0 = 0
x ? y = y + dec x
x ? 0 = 0
x ? y = y + dec y
x ? 0 = dec x
x ? y = x + x
x ? 0 = dec x
x ? y = x + y
x ? 0 = dec x
x ? y = y + y
x ? 0 = dec x
x ? y = dec (dec x)
x ? 0 = dec x
x ? y = dec (dec y)
x ? 0 = x + x
x ? y = dec x
x ? 0 = x + x
x ? y = dec y
x ? 0 = dec (dec x)
x ? y = dec x
x ? 0 = dec (dec x)
x ? y = dec y
x ? 0 = dec (dec (dec x))
x ? y = x
x ? 0 = dec (dec (dec x))
x ? y = y
x ? 0 = dec (dec (dec x))
x ? y = 0
x ? 0 = x + dec x
x ? y = x
x ? 0 = x + dec x
x ? y = y
x ? 0 = x + dec x
x ? y = 0
0 ? x = x
x ? y = dec (dec (dec x))
0 ? x = x
x ? y = dec (dec (dec y))
0 ? x = x
x ? y = x + dec x
0 ? x = x
x ? y = x + dec y
0 ? x = x
x ? y = y + dec x
0 ? x = x
x ? y = y + dec y
0 ? x = 0
x ? y = dec (dec (dec x))
0 ? x = 0
x ? y = dec (dec (dec y))
0 ? x = 0
x ? y = x + dec x
0 ? x = 0
x ? y = x + dec y
0 ? x = 0
x ? y = y + dec x
0 ? x = 0
x ? y = y + dec y
0 ? x = dec x
x ? y = x + x
0 ? x = dec x
x ? y = x + y
0 ? x = dec x
x ? y = y + y
0 ? x = dec x
x ? y = dec (dec x)
0 ? x = dec x
x ? y = dec (dec y)
0 ? x = x + x
x ? y = dec x
0 ? x = x + x
x ? y = dec y
0 ? x = dec (dec x)
x ? y = dec x
0 ? x = dec (dec x)
x ? y = dec y
0 ? x = dec (dec (dec x))
x ? y = x
0 ? x = dec (dec (dec x))
x ? y = y
0 ? x = dec (dec (dec x))
x ? y = 0
0 ? x = x + dec x
x ? y = x
0 ? x = x + dec x
x ? y = y
0 ? x = x + dec x
x ? y = 0
0 ? x = x
x ? 0 = x
x ? y = x + x
0 ? x = x
x ? 0 = x
x ? y = x + y
0 ? x = x
x ? 0 = x
x ? y = y + y
0 ? x = x
x ? 0 = x
x ? y = dec (dec x)
0 ? x = x
x ? 0 = x
x ? y = dec (dec y)
0 ? x = x
x ? 0 = 0
x ? y = x + x
0 ? x = x
x ? 0 = 0
x ? y = x + y
0 ? x = x
x ? 0 = 0
x ? y = y + y
0 ? x = x
x ? 0 = 0
x ? y = dec (dec x)
0 ? x = x
x ? 0 = 0
x ? y = dec (dec y)
0 ? x = x
x ? 0 = dec x
x ? y = dec y
0 ? x = x
x ? 0 = x + x
x ? y = x
0 ? x = x
x ? 0 = x + x
x ? y = 0
0 ? x = x
x ? 0 = dec (dec x)
x ? y = x
0 ? x = x
x ? 0 = dec (dec x)
x ? y = 0
0 ? x = 0
x ? 0 = x
x ? y = x + x
0 ? x = 0
x ? 0 = x
x ? y = x + y
0 ? x = 0
x ? 0 = x
x ? y = y + y
0 ? x = 0
x ? 0 = x
x ? y = dec (dec x)
0 ? x = 0
x ? 0 = x
x ? y = dec (dec y)
0 ? x = 0
x ? 0 = 0
x ? y = x + x
0 ? x = 0
x ? 0 = 0
x ? y = x + y
0 ? x = 0
x ? 0 = 0
x ? y = y + y
0 ? x = 0
x ? 0 = 0
x ? y = dec (dec x)
0 ? x = 0
x ? 0 = 0
x ? y = dec (dec y)
0 ? x = 0
x ? 0 = dec x
x ? y = dec y
0 ? x = 0
x ? 0 = x + x
x ? y = y
0 ? x = 0
x ? 0 = dec (dec x)
x ? y = y
0 ? x = dec x
x ? 0 = x
x ? y = dec x
0 ? x = dec x
x ? 0 = 0
x ? y = dec x
0 ? x = dec x
x ? 0 = dec x
x ? y = x
0 ? x = dec x
x ? 0 = dec x
x ? y = y
0 ? x = dec x
x ? 0 = dec x
x ? y = 0
0 ? x = x + x
x ? 0 = x
x ? y = y
0 ? x = x + x
x ? 0 = x
x ? y = 0
0 ? x = x + x
x ? 0 = 0
x ? y = x
0 ? x = dec (dec x)
x ? 0 = x
x ? y = y
0 ? x = dec (dec x)
x ? 0 = x
x ? y = 0
0 ? x = dec (dec x)
x ? 0 = 0
x ? y = x
0 ? 0 = 0
0 ? x = dec x
x ? y = dec x
x ? 0 = x
x ? y = x ? dec (dec y)
x ? 0 = x
x ? y = y ? dec (dec y)
x ? 0 = x
x ? y = 0 ? dec (dec y)
x ? 0 = x
x ? y = dec x ? dec x
x ? 0 = x
x ? y = dec x ? dec y
x ? 0 = x
x ? y = dec y ? dec y
x ? 0 = x
x ? y = dec (dec x) ? x
x ? 0 = x
x ? y = dec (dec x) ? y
x ? 0 = 0
x ? y = x ? dec (dec y)
x ? 0 = 0
x ? y = y ? dec (dec y)
x ? 0 = 0
x ? y = 0 ? dec (dec y)
x ? 0 = 0
x ? y = dec x ? dec x
x ? 0 = 0
x ? y = dec x ? dec y
x ? 0 = 0
x ? y = dec y ? dec y
x ? 0 = 0
x ? y = dec (dec x) ? x
x ? 0 = 0
x ? y = dec (dec x) ? y
0 ? x = x
x ? y = x ? dec (dec y)
0 ? x = x
x ? y = y ? dec (dec y)
0 ? x = x
x ? y = dec x ? dec x
0 ? x = x
x ? y = dec x ? dec y
0 ? x = x
x ? y = dec y ? dec y
0 ? x = x
x ? y = dec (dec x) ? x
0 ? x = x
x ? y = dec (dec x) ? y
0 ? x = x
x ? y = dec (dec x) ? 0
0 ? x = 0
x ? y = x ? dec (dec y)
0 ? x = 0
x ? y = y ? dec (dec y)
0 ? x = 0
x ? y = dec x ? dec x
0 ? x = 0
x ? y = dec x ? dec y
0 ? x = 0
x ? y = dec y ? dec y
0 ? x = 0
x ? y = dec (dec x) ? x
0 ? x = 0
x ? y = dec (dec x) ? y
0 ? x = 0
x ? y = dec (dec x) ? 0
x ? 0 = x
x ? y = dec (x ? dec y)
x ? 0 = x
x ? y = dec (y ? dec y)
x ? 0 = x
x ? y = dec (0 ? dec y)
x ? 0 = x
x ? y = dec (dec x ? x)
x ? 0 = x
x ? y = dec (dec x ? y)
x ? 0 = 0
x ? y = dec (x ? dec y)
x ? 0 = 0
x ? y = dec (y ? dec y)
x ? 0 = 0
x ? y = dec (0 ? dec y)
x ? 0 = 0
x ? y = dec (dec x ? x)
x ? 0 = 0
x ? y = dec (dec x ? y)
x ? 0 = dec x
x ? y = x ? dec y
x ? 0 = dec x
x ? y = y ? dec y
x ? 0 = dec x
x ? y = 0 ? dec y
x ? 0 = dec x
x ? y = dec x ? x
x ? 0 = dec x
x ? y = dec x ? y
0 ? x = x
x ? y = dec (x ? dec y)
0 ? x = x
x ? y = dec (y ? dec y)
0 ? x = x
x ? y = dec (dec x ? x)
0 ? x = x
x ? y = dec (dec x ? y)
0 ? x = x
x ? y = dec (dec x ? 0)
0 ? x = 0
x ? y = dec (x ? dec y)
0 ? x = 0
x ? y = dec (y ? dec y)
0 ? x = 0
x ? y = dec (dec x ? x)
0 ? x = 0
x ? y = dec (dec x ? y)
0 ? x = 0
x ? y = dec (dec x ? 0)
0 ? x = dec x
x ? y = x ? dec y
0 ? x = dec x
x ? y = y ? dec y
0 ? x = dec x
x ? y = dec x ? x
0 ? x = dec x
x ? y = dec x ? y
0 ? x = dec x
x ? y = dec x ? 0
0 ? x = x
x ? 0 = x
x ? y = x ? dec y
0 ? x = x
x ? 0 = x
x ? y = y ? dec y
0 ? x = x
x ? 0 = x
x ? y = dec x ? x
0 ? x = x
x ? 0 = x
x ? y = dec x ? y
0 ? x = x
x ? 0 = 0
x ? y = x ? dec y
0 ? x = x
x ? 0 = 0
x ? y = y ? dec y
0 ? x = x
x ? 0 = 0
x ? y = dec x ? x
0 ? x = x
x ? 0 = 0
x ? y = dec x ? y
0 ? x = 0
x ? 0 = x
x ? y = x ? dec y
0 ? x = 0
x ? 0 = x
x ? y = y ? dec y
0 ? x = 0
x ? 0 = x
x ? y = dec x ? x
0 ? x = 0
x ? 0 = x
x ? y = dec x ? y
0 ? x = 0
x ? 0 = 0
x ? y = x ? dec y
0 ? x = 0
x ? 0 = 0
x ? y = y ? dec y
0 ? x = 0
x ? 0 = 0
x ? y = dec x ? x
0 ? x = 0
x ? 0 = 0
x ? y = dec x ? y
x ? y = dec (dec (dec (dec (dec x))))
x ? y = dec (dec (dec (dec (dec y))))
x ? y = x + dec (dec (dec x))
x ? y = x + dec (dec (dec y))
x ? y = x + (x + dec x)
x ? y = x + (x + dec y)
x ? y = x + (y + dec x)
x ? y = x + (y + dec y)
x ? y = y + dec (dec (dec x))
x ? y = y + dec (dec (dec y))
x ? y = y + (x + dec x)
x ? y = y + (x + dec y)
x ? y = y + (y + dec x)
x ? y = y + (y + dec y)
x ? y = dec x + (x + x)
x ? y = dec x + (x + y)
x ? y = dec x + (y + y)
x ? y = dec x + dec (dec x)
x ? y = dec x + dec (dec y)
x ? y = dec y + (x + x)
x ? y = dec y + (x + y)
x ? y = dec y + (y + y)
x ? y = dec y + dec (dec x)
x ? y = dec y + dec (dec y)
x ? 0 = x
x ? y = dec (dec (dec (dec x)))
x ? 0 = x
x ? y = dec (dec (dec (dec y)))
x ? 0 = x
x ? y = x + (x + x)
x ? 0 = x
x ? y = x + (x + y)
x ? 0 = x
x ? y = x + (y + y)
x ? 0 = x
x ? y = x + dec (dec x)
x ? 0 = x
x ? y = x + dec (dec y)
x ? 0 = x
x ? y = y + (x + x)
x ? 0 = x
x ? y = y + (x + y)
x ? 0 = x
x ? y = y + (y + y)
x ? 0 = x
x ? y = y + dec (dec x)
x ? 0 = x
x ? y = y + dec (dec y)
x ? 0 = x
x ? y = dec x + dec x
x ? 0 = x
x ? y = dec x + dec y
x ? 0 = x
x ? y = dec y + dec y
x ? 0 = 0
x ? y = dec (dec (dec (dec x)))
x ? 0 = 0
x ? y = dec (dec (dec (dec y)))
x ? 0 = 0
x ? y = x + (x + x)
x ? 0 = 0
x ? y = x + (x + y)
x ? 0 = 0
x ? y = x + (y + y)
x ? 0 = 0
x ? y = x + dec (dec x)
x ? 0 = 0
x ? y = x + dec (dec y)
x ? 0 = 0
x ? y = y + (x + x)
x ? 0 = 0
x ? y = y + (x + y)
x ? 0 = 0
x ? y = y + (y + y)
x ? 0 = 0
x ? y = y + dec (dec x)
x ? 0 = 0
x ? y = y + dec (dec y)
x ? 0 = 0
x ? y = dec x + dec x
x ? 0 = 0
x ? y = dec x + dec y
x ? 0 = 0
x ? y = dec y + dec y
x ? 0 = dec x
x ? y = dec (dec (dec x))
x ? 0 = dec x
x ? y = dec (dec (dec y))
x ? 0 = dec x
x ? y = x + dec x
x ? 0 = dec x
x ? y = x + dec y
x ? 0 = dec x
x ? y = y + dec x
x ? 0 = dec x
x ? y = y + dec y
x ? 0 = x + x
x ? y = x + y
x ? 0 = x + x
x ? y = y + y
x ? 0 = x + x
x ? y = dec (dec x)
x ? 0 = x + x
x ? y = dec (dec y)
x ? 0 = dec (dec x)
x ? y = x + x
x ? 0 = dec (dec x)
x ? y = x + y
x ? 0 = dec (dec x)
x ? y = y + y
x ? 0 = dec (dec x)
x ? y = dec (dec y)
x ? 0 = dec (dec (dec x))
x ? y = dec x
x ? 0 = dec (dec (dec x))
x ? y = dec y
x ? 0 = x + dec x
x ? y = dec x
x ? 0 = x + dec x
x ? y = dec y
x ? 0 = dec (dec (dec (dec x)))
x ? y = x
x ? 0 = dec (dec (dec (dec x)))
x ? y = y
x ? 0 = dec (dec (dec (dec x)))
x ? y = 0
x ? 0 = x + (x + x)
x ? y = x
x ? 0 = x + (x + x)
x ? y = y
x ? 0 = x + (x + x)
x ? y = 0
x ? 0 = x + dec (dec x)
x ? y = x
x ? 0 = x + dec (dec x)
x ? y = y
x ? 0 = x + dec (dec x)
x ? y = 0
x ? 0 = dec x + dec x
x ? y = x
x ? 0 = dec x + dec x
x ? y = y
x ? 0 = dec x + dec x
x ? y = 0
0 ? x = x
x ? y = dec (dec (dec (dec x)))
0 ? x = x
x ? y = dec (dec (dec (dec y)))
0 ? x = x
x ? y = x + (x + x)
0 ? x = x
x ? y = x + (x + y)
0 ? x = x
x ? y = x + (y + y)
0 ? x = x
x ? y = x + dec (dec x)
0 ? x = x
x ? y = x + dec (dec y)
0 ? x = x
x ? y = y + (x + x)
0 ? x = x
x ? y = y + (x + y)
0 ? x = x
x ? y = y + (y + y)
0 ? x = x
x ? y = y + dec (dec x)
0 ? x = x
x ? y = y + dec (dec y)
0 ? x = x
x ? y = dec x + dec x
0 ? x = x
x ? y = dec x + dec y
0 ? x = x
x ? y = dec y + dec y
0 ? x = 0
x ? y = dec (dec (dec (dec x)))
0 ? x = 0
x ? y = dec (dec (dec (dec y)))
0 ? x = 0
x ? y = x + (x + x)
0 ? x = 0
x ? y = x + (x + y)
0 ? x = 0
x ? y = x + (y + y)
0 ? x = 0
x ? y = x + dec (dec x)
0 ? x = 0
x ? y = x + dec (dec y)
0 ? x = 0
x ? y = y + (x + x)
0 ? x = 0
x ? y = y + (x + y)
0 ? x = 0
x ? y = y + (y + y)
0 ? x = 0
x ? y = y + dec (dec x)
0 ? x = 0
x ? y = y + dec (dec y)
0 ? x = 0
x ? y = dec x + dec x
0 ? x = 0
x ? y = dec x + dec y
0 ? x = 0
x ? y = dec y + dec y
0 ? x = dec x
x ? y = dec (dec (dec x))
0 ? x = dec x
x ? y = dec (dec (dec y))
0 ? x = dec x
x ? y = x + dec x
0 ? x = dec x
x ? y = x + dec y
0 ? x = dec x
x ? y = y + dec x
0 ? x = dec x
x ? y = y + dec y
0 ? x = x + x
x ? y = x + y
0 ? x = x + x
x ? y = dec (dec x)
0 ? x = x + x
x ? y = dec (dec y)
0 ? x = dec (dec x)
x ? y = x + x
0 ? x = dec (dec x)
x ? y = x + y
0 ? x = dec (dec x)
x ? y = y + y
0 ? x = dec (dec (dec x))
x ? y = dec x
0 ? x = dec (dec (dec x))
x ? y = dec y
0 ? x = x + dec x
x ? y = dec x
0 ? x = x + dec x
x ? y = dec y
0 ? x = dec (dec (dec (dec x)))
x ? y = x
0 ? x = dec (dec (dec (dec x)))
x ? y = y
0 ? x = dec (dec (dec (dec x)))
x ? y = 0
0 ? x = x + (x + x)
x ? y = x
0 ? x = x + (x + x)
x ? y = y
0 ? x = x + (x + x)
x ? y = 0
0 ? x = x + dec (dec x)
x ? y = x
0 ? x = x + dec (dec x)
x ? y = y
0 ? x = x + dec (dec x)
x ? y = 0
0 ? x = dec x + dec x
x ? y = x
0 ? x = dec x + dec x
x ? y = y
0 ? x = dec x + dec x
x ? y = 0
0 ? x = x
x ? 0 = x
x ? y = dec (dec (dec x))
0 ? x = x
x ? 0 = x
x ? y = dec (dec (dec y))
0 ? x = x
x ? 0 = x
x ? y = x + dec x
0 ? x = x
x ? 0 = x
x ? y = x + dec y
0 ? x = x
x ? 0 = x
x ? y = y + dec x
0 ? x = x
x ? 0 = x
x ? y = y + dec y
0 ? x = x
x ? 0 = 0
x ? y = dec (dec (dec x))
0 ? x = x
x ? 0 = 0
x ? y = dec (dec (dec y))
0 ? x = x
x ? 0 = 0
x ? y = x + dec x
0 ? x = x
x ? 0 = 0
x ? y = x + dec y
0 ? x = x
x ? 0 = 0
x ? y = y + dec x
0 ? x = x
x ? 0 = 0
x ? y = y + dec y
0 ? x = x
x ? 0 = dec x
x ? y = x + x
0 ? x = x
x ? 0 = dec x
x ? y = x + y
0 ? x = x
x ? 0 = dec x
x ? y = y + y
0 ? x = x
x ? 0 = dec x
x ? y = dec (dec x)
0 ? x = x
x ? 0 = dec x
x ? y = dec (dec y)
0 ? x = x
x ? 0 = x + x
x ? y = dec x
0 ? x = x
x ? 0 = x + x
x ? y = dec y
0 ? x = x
x ? 0 = dec (dec x)
x ? y = dec x
0 ? x = x
x ? 0 = dec (dec x)
x ? y = dec y
0 ? x = x
x ? 0 = dec (dec (dec x))
x ? y = x
0 ? x = x
x ? 0 = dec (dec (dec x))
x ? y = 0
0 ? x = x
x ? 0 = x + dec x
x ? y = x
0 ? x = x
x ? 0 = x + dec x
x ? y = 0
0 ? x = 0
x ? 0 = x
x ? y = dec (dec (dec x))
0 ? x = 0
x ? 0 = x
x ? y = dec (dec (dec y))
0 ? x = 0
x ? 0 = x
x ? y = x + dec x
0 ? x = 0
x ? 0 = x
x ? y = x + dec y
0 ? x = 0
x ? 0 = x
x ? y = y + dec x
0 ? x = 0
x ? 0 = x
x ? y = y + dec y
0 ? x = 0
x ? 0 = 0
x ? y = dec (dec (dec x))
0 ? x = 0
x ? 0 = 0
x ? y = dec (dec (dec y))
0 ? x = 0
x ? 0 = 0
x ? y = x + dec x
0 ? x = 0
x ? 0 = 0
x ? y = x + dec y
0 ? x = 0
x ? 0 = 0
x ? y = y + dec x
0 ? x = 0
x ? 0 = 0
x ? y = y + dec y
0 ? x = 0
x ? 0 = dec x
x ? y = x + x
0 ? x = 0
x ? 0 = dec x
x ? y = x + y
0 ? x = 0
x ? 0 = dec x
x ? y = y + y
0 ? x = 0
x ? 0 = dec x
x ? y = dec (dec x)
0 ? x = 0
x ? 0 = dec x
x ? y = dec (dec y)
0 ? x = 0
x ? 0 = x + x
x ? y = dec x
0 ? x = 0
x ? 0 = x + x
x ? y = dec y
0 ? x = 0
x ? 0 = dec (dec x)
x ? y = dec x
0 ? x = 0
x ? 0 = dec (dec x)
x ? y = dec y
0 ? x = 0
x ? 0 = dec (dec (dec x))
x ? y = y
0 ? x = 0
x ? 0 = x + dec x
x ? y = y
0 ? x = dec x
x ? 0 = x
x ? y = x + x
0 ? x = dec x
x ? 0 = x
x ? y = x + y
0 ? x = dec x
x ? 0 = x
x ? y = y + y
0 ? x = dec x
x ? 0 = x
x ? y = dec (dec x)
0 ? x = dec x
x ? 0 = x
x ? y = dec (dec y)
0 ? x = dec x
x ? 0 = 0
x ? y = x + x
0 ? x = dec x
x ? 0 = 0
x ? y = x + y
0 ? x = dec x
x ? 0 = 0
x ? y = y + y
0 ? x = dec x
x ? 0 = 0
x ? y = dec (dec x)
0 ? x = dec x
x ? 0 = 0
x ? y = dec (dec y)
0 ? x = dec x
x ? 0 = x + x
x ? y = x
0 ? x = dec x
x ? 0 = x + x
x ? y = y
0 ? x = dec x
x ? 0 = x + x
x ? y = 0
0 ? x = dec x
x ? 0 = dec (dec x)
x ? y = x
0 ? x = dec x
x ? 0 = dec (dec x)
x ? y = y
0 ? x = dec x
x ? 0 = dec (dec x)
x ? y = 0
0 ? x = x + x
x ? 0 = x
x ? y = dec x
0 ? x = x + x
x ? 0 = x
x ? y = dec y
0 ? x = x + x
x ? 0 = 0
x ? y = dec x
0 ? x = x + x
x ? 0 = 0
x ? y = dec y
0 ? x = x + x
x ? 0 = dec x
x ? y = x
0 ? x = x + x
x ? 0 = dec x
x ? y = y
0 ? x = x + x
x ? 0 = dec x
x ? y = 0
0 ? x = dec (dec x)
x ? 0 = x
x ? y = dec x
0 ? x = dec (dec x)
x ? 0 = x
x ? y = dec y
0 ? x = dec (dec x)
x ? 0 = 0
x ? y = dec x
0 ? x = dec (dec x)
x ? 0 = 0
x ? y = dec y
0 ? x = dec (dec x)
x ? 0 = dec x
x ? y = x
0 ? x = dec (dec x)
x ? 0 = dec x
x ? y = y
0 ? x = dec (dec x)
x ? 0 = dec x
x ? y = 0
0 ? x = dec (dec (dec x))
x ? 0 = x
x ? y = y
0 ? x = dec (dec (dec x))
x ? 0 = x
x ? y = 0
0 ? x = dec (dec (dec x))
x ? 0 = 0
x ? y = x
0 ? x = x + dec x
x ? 0 = x
x ? y = y
0 ? x = x + dec x
x ? 0 = x
x ? y = 0
0 ? x = x + dec x
x ? 0 = 0
x ? y = x
0 ? 0 = 0
0 ? x = dec x
x ? y = x + x
0 ? 0 = 0
0 ? x = dec x
x ? y = x + y
0 ? 0 = 0
0 ? x = dec x
x ? y = y + y
0 ? 0 = 0
0 ? x = dec x
x ? y = dec (dec x)
0 ? 0 = 0
0 ? x = dec x
x ? y = dec (dec y)
0 ? 0 = 0
0 ? x = x + x
x ? y = dec x
0 ? 0 = 0
0 ? x = x + x
x ? y = dec y
0 ? 0 = 0
0 ? x = dec (dec x)
x ? y = dec x
0 ? 0 = 0
0 ? x = dec (dec x)
x ? y = dec y
Candidates for: goo :: [Int] -> [Int]
pruning with 4/4 rules
[2,0,1,0,1,0,1,0,1] direct candidates, 0 duplicates
[2,1,2,3,4,7,10,17,26] pattern candidates, 0 duplicates
rules:
xs ++ [] == xs
[] ++ xs == xs
(xs ++ ys) ++ zs == xs ++ (ys ++ zs)
(x:xs) ++ ys == x:(xs ++ ys)
direct candidates:
goo xs = xs
goo xs = []
goo xs = xs ++ xs
goo xs = xs ++ (xs ++ xs)
pattern candidates:
goo xs = xs
goo xs = []
goo [] = []
goo (x:xs) = xs
goo [] = []
goo (x:xs) = goo xs
goo xs = xs ++ xs
goo [] = []
goo (x:xs) = x:xs
goo [] = []
goo (x:xs) = [x]
goo [] = []
goo (x:xs) = xs ++ xs
goo [] = []
goo (x:xs) = x:goo xs
goo [] = []
goo (x:xs) = xs ++ goo xs
goo [] = []
goo (x:xs) = goo xs ++ xs
goo xs = xs ++ (xs ++ xs)
goo [] = []
goo (x:xs) = goo xs ++ goo xs
goo [] = []
goo (x:xs) = x:x:xs
goo [] = []
goo (x:xs) = [x,x]
goo [] = []
goo (x:xs) = x:(xs ++ xs)
goo [] = []
goo (x:xs) = xs ++ (x:xs)
goo [] = []
goo (x:xs) = xs ++ [x]
goo [] = []
goo (x:xs) = xs ++ (xs ++ xs)
Candidates for: ?? :: [Int] -> [Int] -> [Int]
pruning with 4/4 rules
[3,0,4,0,8,0,16,0,32] direct candidates, 0 duplicates
[3,7,15,59,139,331,987,2016,6970] pattern candidates, 0 duplicates
rules:
xs ++ [] == xs
[] ++ xs == xs
(xs ++ ys) ++ zs == xs ++ (ys ++ zs)
(x:xs) ++ ys == x:(xs ++ ys)
direct candidates:
xs ?? ys = xs
xs ?? ys = ys
xs ?? ys = []
xs ?? ys = xs ++ xs
xs ?? ys = xs ++ ys
xs ?? ys = ys ++ xs
xs ?? ys = ys ++ ys
xs ?? ys = xs ++ (xs ++ xs)
xs ?? ys = xs ++ (xs ++ ys)
xs ?? ys = xs ++ (ys ++ xs)
xs ?? ys = xs ++ (ys ++ ys)
xs ?? ys = ys ++ (xs ++ xs)
xs ?? ys = ys ++ (xs ++ ys)
xs ?? ys = ys ++ (ys ++ xs)
xs ?? ys = ys ++ (ys ++ ys)
pattern candidates:
xs ?? ys = xs
xs ?? ys = ys
xs ?? ys = []
xs ?? [] = xs
xs ?? (x:ys) = ys
xs ?? [] = xs
xs ?? (x:ys) = []
xs ?? [] = []
xs ?? (x:ys) = xs
xs ?? [] = []
xs ?? (x:ys) = ys
[] ?? xs = xs
(x:xs) ?? ys = []
[] ?? xs = []
(x:xs) ?? ys = xs
[] ?? xs = []
(x:xs) ?? ys = ys
xs ?? ys = xs ++ xs
xs ?? ys = xs ++ ys
xs ?? ys = ys ++ xs
xs ?? ys = ys ++ ys
[] ?? xs = xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = ys
[] ?? xs = xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = []
[] ?? xs = xs
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = xs
[] ?? xs = xs
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = ys
[] ?? xs = []
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = ys
[] ?? xs = []
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = []
[] ?? xs = []
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = xs
[] ?? xs = []
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = ys
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? ys = xs
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? ys = ys
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? ys = []
xs ?? [] = xs
xs ?? (x:ys) = xs ?? xs
xs ?? [] = xs
xs ?? (x:ys) = xs ?? ys
xs ?? [] = xs
xs ?? (x:ys) = ys ?? xs
xs ?? [] = xs
xs ?? (x:ys) = ys ?? ys
xs ?? [] = xs
xs ?? (x:ys) = [] ?? xs
xs ?? [] = xs
xs ?? (x:ys) = [] ?? ys
xs ?? [] = []
xs ?? (x:ys) = xs ?? xs
xs ?? [] = []
xs ?? (x:ys) = xs ?? ys
xs ?? [] = []
xs ?? (x:ys) = ys ?? xs
xs ?? [] = []
xs ?? (x:ys) = ys ?? ys
xs ?? [] = []
xs ?? (x:ys) = [] ?? xs
xs ?? [] = []
xs ?? (x:ys) = [] ?? ys
[] ?? xs = xs
(x:xs) ?? ys = xs ?? xs
[] ?? xs = xs
(x:xs) ?? ys = xs ?? ys
[] ?? xs = xs
(x:xs) ?? ys = xs ?? []
[] ?? xs = xs
(x:xs) ?? ys = ys ?? xs
[] ?? xs = xs
(x:xs) ?? ys = ys ?? ys
[] ?? xs = xs
(x:xs) ?? ys = ys ?? []
[] ?? xs = []
(x:xs) ?? ys = xs ?? xs
[] ?? xs = []
(x:xs) ?? ys = xs ?? ys
[] ?? xs = []
(x:xs) ?? ys = xs ?? []
[] ?? xs = []
(x:xs) ?? ys = ys ?? xs
[] ?? xs = []
(x:xs) ?? ys = ys ?? ys
[] ?? xs = []
(x:xs) ?? ys = ys ?? []
xs ?? [] = xs
xs ?? (x:ys) = x:xs
xs ?? [] = xs
xs ?? (x:ys) = x:ys
xs ?? [] = xs
xs ?? (x:ys) = [x]
xs ?? [] = xs
xs ?? (x:ys) = xs ++ xs
xs ?? [] = xs
xs ?? (x:ys) = xs ++ ys
xs ?? [] = xs
xs ?? (x:ys) = ys ++ xs
xs ?? [] = xs
xs ?? (x:ys) = ys ++ ys
xs ?? [] = []
xs ?? (x:ys) = x:xs
xs ?? [] = []
xs ?? (x:ys) = x:ys
xs ?? [] = []
xs ?? (x:ys) = [x]
xs ?? [] = []
xs ?? (x:ys) = xs ++ xs
xs ?? [] = []
xs ?? (x:ys) = xs ++ ys
xs ?? [] = []
xs ?? (x:ys) = ys ++ xs
xs ?? [] = []
xs ?? (x:ys) = ys ++ ys
xs ?? [] = xs ++ xs
xs ?? (x:ys) = xs
xs ?? [] = xs ++ xs
xs ?? (x:ys) = ys
xs ?? [] = xs ++ xs
xs ?? (x:ys) = []
[] ?? xs = xs
(x:xs) ?? ys = x:xs
[] ?? xs = xs
(x:xs) ?? ys = x:ys
[] ?? xs = xs
(x:xs) ?? ys = [x]
[] ?? xs = xs
(x:xs) ?? ys = xs ++ xs
[] ?? xs = xs
(x:xs) ?? ys = xs ++ ys
[] ?? xs = xs
(x:xs) ?? ys = ys ++ xs
[] ?? xs = xs
(x:xs) ?? ys = ys ++ ys
[] ?? xs = []
(x:xs) ?? ys = x:xs
[] ?? xs = []
(x:xs) ?? ys = x:ys
[] ?? xs = []
(x:xs) ?? ys = [x]
[] ?? xs = []
(x:xs) ?? ys = xs ++ xs
[] ?? xs = []
(x:xs) ?? ys = xs ++ ys
[] ?? xs = []
(x:xs) ?? ys = ys ++ xs
[] ?? xs = []
(x:xs) ?? ys = ys ++ ys
[] ?? xs = xs ++ xs
(x:xs) ?? ys = xs
[] ?? xs = xs ++ xs
(x:xs) ?? ys = ys
[] ?? xs = xs ++ xs
(x:xs) ?? ys = []
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = []
[] ?? xs = xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = xs ?? xs
[] ?? xs = xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = xs ?? ys
[] ?? xs = xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = xs ?? []
[] ?? xs = xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = ys ?? xs
[] ?? xs = xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = ys ?? ys
[] ?? xs = xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = ys ?? []
[] ?? xs = xs
(x:xs) ?? [] = xs ?? xs
(x:xs) ?? (y:ys) = xs
[] ?? xs = xs
(x:xs) ?? [] = xs ?? []
(x:xs) ?? (y:ys) = xs
[] ?? xs = xs
(x:xs) ?? [] = xs ?? xs
(x:xs) ?? (y:ys) = ys
[] ?? xs = xs
(x:xs) ?? [] = xs ?? []
(x:xs) ?? (y:ys) = ys
[] ?? xs = xs
(x:xs) ?? [] = xs ?? xs
(x:xs) ?? (y:ys) = []
[] ?? xs = xs
(x:xs) ?? [] = xs ?? []
(x:xs) ?? (y:ys) = []
[] ?? xs = xs
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = xs ?? xs
[] ?? xs = xs
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = xs ?? ys
[] ?? xs = xs
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = xs ?? []
[] ?? xs = xs
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = ys ?? xs
[] ?? xs = xs
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = ys ?? ys
[] ?? xs = xs
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = ys ?? []
[] ?? xs = []
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = xs ?? xs
[] ?? xs = []
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = xs ?? ys
[] ?? xs = []
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = xs ?? []
[] ?? xs = []
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = ys ?? xs
[] ?? xs = []
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = ys ?? ys
[] ?? xs = []
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = ys ?? []
[] ?? xs = []
(x:xs) ?? [] = xs ?? xs
(x:xs) ?? (y:ys) = xs
[] ?? xs = []
(x:xs) ?? [] = xs ?? []
(x:xs) ?? (y:ys) = xs
[] ?? xs = []
(x:xs) ?? [] = xs ?? xs
(x:xs) ?? (y:ys) = ys
[] ?? xs = []
(x:xs) ?? [] = xs ?? []
(x:xs) ?? (y:ys) = ys
[] ?? xs = []
(x:xs) ?? [] = xs ?? xs
(x:xs) ?? (y:ys) = []
[] ?? xs = []
(x:xs) ?? [] = xs ?? []
(x:xs) ?? (y:ys) = []
[] ?? xs = []
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = xs ?? xs
[] ?? xs = []
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = xs ?? ys
[] ?? xs = []
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = xs ?? []
[] ?? xs = []
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = ys ?? xs
[] ?? xs = []
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = ys ?? ys
[] ?? xs = []
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = ys ?? []
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? ys = xs ?? xs
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? ys = xs ?? ys
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? ys = xs ?? []
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? ys = ys ?? xs
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? ys = ys ?? ys
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? ys = ys ?? []
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? ys = [] ?? xs
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? ys = [] ?? ys
[] ?? [] = []
[] ?? (x:xs) = xs ?? xs
(x:xs) ?? ys = xs
[] ?? [] = []
[] ?? (x:xs) = xs ?? []
(x:xs) ?? ys = xs
[] ?? [] = []
[] ?? (x:xs) = [] ?? xs
(x:xs) ?? ys = xs
[] ?? [] = []
[] ?? (x:xs) = xs ?? xs
(x:xs) ?? ys = ys
[] ?? [] = []
[] ?? (x:xs) = xs ?? []
(x:xs) ?? ys = ys
[] ?? [] = []
[] ?? (x:xs) = [] ?? xs
(x:xs) ?? ys = ys
[] ?? [] = []
[] ?? (x:xs) = xs ?? xs
(x:xs) ?? ys = []
[] ?? [] = []
[] ?? (x:xs) = xs ?? []
(x:xs) ?? ys = []
[] ?? [] = []
[] ?? (x:xs) = [] ?? xs
(x:xs) ?? ys = []
xs ?? ys = xs ++ (xs ++ xs)
xs ?? ys = xs ++ (xs ++ ys)
xs ?? ys = xs ++ (ys ++ xs)
xs ?? ys = xs ++ (ys ++ ys)
xs ?? ys = ys ++ (xs ++ xs)
xs ?? ys = ys ++ (xs ++ ys)
xs ?? ys = ys ++ (ys ++ xs)
xs ?? ys = ys ++ (ys ++ ys)
[] ?? xs = xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = x:xs
[] ?? xs = xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = x:ys
[] ?? xs = xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = [x]
[] ?? xs = xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = y:xs
[] ?? xs = xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = y:ys
[] ?? xs = xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = [y]
[] ?? xs = xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = xs ++ xs
[] ?? xs = xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = xs ++ ys
[] ?? xs = xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = ys ++ xs
[] ?? xs = xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = ys ++ ys
[] ?? xs = xs
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = x:xs
[] ?? xs = xs
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = x:ys
[] ?? xs = xs
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = [x]
[] ?? xs = xs
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = y:xs
[] ?? xs = xs
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = y:ys
[] ?? xs = xs
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = [y]
[] ?? xs = xs
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = xs ++ xs
[] ?? xs = xs
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = xs ++ ys
[] ?? xs = xs
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = ys ++ xs
[] ?? xs = xs
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = ys ++ ys
[] ?? xs = xs
(x:xs) ?? [] = x:xs
(x:xs) ?? (y:ys) = xs
[] ?? xs = xs
(x:xs) ?? [] = x:xs
(x:xs) ?? (y:ys) = ys
[] ?? xs = xs
(x:xs) ?? [] = x:xs
(x:xs) ?? (y:ys) = []
[] ?? xs = xs
(x:xs) ?? [] = [x]
(x:xs) ?? (y:ys) = xs
[] ?? xs = xs
(x:xs) ?? [] = [x]
(x:xs) ?? (y:ys) = ys
[] ?? xs = xs
(x:xs) ?? [] = [x]
(x:xs) ?? (y:ys) = []
[] ?? xs = xs
(x:xs) ?? [] = xs ++ xs
(x:xs) ?? (y:ys) = xs
[] ?? xs = xs
(x:xs) ?? [] = xs ++ xs
(x:xs) ?? (y:ys) = ys
[] ?? xs = xs
(x:xs) ?? [] = xs ++ xs
(x:xs) ?? (y:ys) = []
[] ?? xs = []
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = x:xs
[] ?? xs = []
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = x:ys
[] ?? xs = []
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = [x]
[] ?? xs = []
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = y:xs
[] ?? xs = []
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = y:ys
[] ?? xs = []
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = [y]
[] ?? xs = []
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = xs ++ xs
[] ?? xs = []
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = xs ++ ys
[] ?? xs = []
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = ys ++ xs
[] ?? xs = []
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = ys ++ ys
[] ?? xs = []
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = x:xs
[] ?? xs = []
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = x:ys
[] ?? xs = []
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = [x]
[] ?? xs = []
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = y:xs
[] ?? xs = []
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = y:ys
[] ?? xs = []
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = [y]
[] ?? xs = []
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = xs ++ xs
[] ?? xs = []
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = xs ++ ys
[] ?? xs = []
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = ys ++ xs
[] ?? xs = []
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = ys ++ ys
[] ?? xs = []
(x:xs) ?? [] = x:xs
(x:xs) ?? (y:ys) = xs
[] ?? xs = []
(x:xs) ?? [] = x:xs
(x:xs) ?? (y:ys) = ys
[] ?? xs = []
(x:xs) ?? [] = x:xs
(x:xs) ?? (y:ys) = []
[] ?? xs = []
(x:xs) ?? [] = [x]
(x:xs) ?? (y:ys) = xs
[] ?? xs = []
(x:xs) ?? [] = [x]
(x:xs) ?? (y:ys) = ys
[] ?? xs = []
(x:xs) ?? [] = [x]
(x:xs) ?? (y:ys) = []
[] ?? xs = []
(x:xs) ?? [] = xs ++ xs
(x:xs) ?? (y:ys) = xs
[] ?? xs = []
(x:xs) ?? [] = xs ++ xs
(x:xs) ?? (y:ys) = ys
[] ?? xs = []
(x:xs) ?? [] = xs ++ xs
(x:xs) ?? (y:ys) = []
[] ?? xs = xs ++ xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = ys
[] ?? xs = xs ++ xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = []
[] ?? xs = xs ++ xs
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = xs
[] ?? xs = xs ++ xs
(x:xs) ?? [] = []
(x:xs) ?? (y:ys) = ys
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? ys = x:xs
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? ys = x:ys
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? ys = [x]
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? ys = xs ++ xs
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? ys = xs ++ ys
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? ys = ys ++ xs
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? ys = ys ++ ys
[] ?? [] = []
[] ?? (x:xs) = x:xs
(x:xs) ?? ys = xs
[] ?? [] = []
[] ?? (x:xs) = x:xs
(x:xs) ?? ys = ys
[] ?? [] = []
[] ?? (x:xs) = x:xs
(x:xs) ?? ys = []
[] ?? [] = []
[] ?? (x:xs) = [x]
(x:xs) ?? ys = xs
[] ?? [] = []
[] ?? (x:xs) = [x]
(x:xs) ?? ys = ys
[] ?? [] = []
[] ?? (x:xs) = [x]
(x:xs) ?? ys = []
[] ?? [] = []
[] ?? (x:xs) = xs ++ xs
(x:xs) ?? ys = xs
[] ?? [] = []
[] ?? (x:xs) = xs ++ xs
(x:xs) ?? ys = ys
[] ?? [] = []
[] ?? (x:xs) = xs ++ xs
(x:xs) ?? ys = []
xs ?? [] = xs
xs ?? (x:ys) = (x:xs) ?? xs
xs ?? [] = xs
xs ?? (x:ys) = (x:xs) ?? ys
xs ?? [] = xs
xs ?? (x:ys) = (x:ys) ?? xs
xs ?? [] = xs
xs ?? (x:ys) = (x:ys) ?? ys
xs ?? [] = xs
xs ?? (x:ys) = [x] ?? xs
xs ?? [] = xs
xs ?? (x:ys) = [x] ?? ys
xs ?? [] = xs
xs ?? (x:ys) = (xs ++ xs) ?? xs
xs ?? [] = xs
xs ?? (x:ys) = (xs ++ xs) ?? ys
xs ?? [] = xs
xs ?? (x:ys) = (xs ++ ys) ?? xs
xs ?? [] = xs
xs ?? (x:ys) = (xs ++ ys) ?? ys
xs ?? [] = xs
xs ?? (x:ys) = (ys ++ xs) ?? xs
xs ?? [] = xs
xs ?? (x:ys) = (ys ++ xs) ?? ys
xs ?? [] = xs
xs ?? (x:ys) = (ys ++ ys) ?? xs
xs ?? [] = xs
xs ?? (x:ys) = (ys ++ ys) ?? ys
xs ?? [] = []
xs ?? (x:ys) = (x:xs) ?? xs
xs ?? [] = []
xs ?? (x:ys) = (x:xs) ?? ys
xs ?? [] = []
xs ?? (x:ys) = (x:ys) ?? xs
xs ?? [] = []
xs ?? (x:ys) = (x:ys) ?? ys
xs ?? [] = []
xs ?? (x:ys) = [x] ?? xs
xs ?? [] = []
xs ?? (x:ys) = [x] ?? ys
xs ?? [] = []
xs ?? (x:ys) = (xs ++ xs) ?? xs
xs ?? [] = []
xs ?? (x:ys) = (xs ++ xs) ?? ys
xs ?? [] = []
xs ?? (x:ys) = (xs ++ ys) ?? xs
xs ?? [] = []
xs ?? (x:ys) = (xs ++ ys) ?? ys
xs ?? [] = []
xs ?? (x:ys) = (ys ++ xs) ?? xs
xs ?? [] = []
xs ?? (x:ys) = (ys ++ xs) ?? ys
xs ?? [] = []
xs ?? (x:ys) = (ys ++ ys) ?? xs
xs ?? [] = []
xs ?? (x:ys) = (ys ++ ys) ?? ys
[] ?? xs = xs
(x:xs) ?? ys = xs ?? (x:xs)
[] ?? xs = xs
(x:xs) ?? ys = xs ?? (x:ys)
[] ?? xs = xs
(x:xs) ?? ys = xs ?? [x]
[] ?? xs = xs
(x:xs) ?? ys = xs ?? (xs ++ xs)
[] ?? xs = xs
(x:xs) ?? ys = xs ?? (xs ++ ys)
[] ?? xs = xs
(x:xs) ?? ys = xs ?? (ys ++ xs)
[] ?? xs = xs
(x:xs) ?? ys = xs ?? (ys ++ ys)
[] ?? xs = xs
(x:xs) ?? ys = ys ?? (x:xs)
[] ?? xs = xs
(x:xs) ?? ys = ys ?? (x:ys)
[] ?? xs = xs
(x:xs) ?? ys = ys ?? [x]
[] ?? xs = xs
(x:xs) ?? ys = ys ?? (xs ++ xs)
[] ?? xs = xs
(x:xs) ?? ys = ys ?? (xs ++ ys)
[] ?? xs = xs
(x:xs) ?? ys = ys ?? (ys ++ xs)
[] ?? xs = xs
(x:xs) ?? ys = ys ?? (ys ++ ys)
[] ?? xs = []
(x:xs) ?? ys = xs ?? (x:xs)
[] ?? xs = []
(x:xs) ?? ys = xs ?? (x:ys)
[] ?? xs = []
(x:xs) ?? ys = xs ?? [x]
[] ?? xs = []
(x:xs) ?? ys = xs ?? (xs ++ xs)
[] ?? xs = []
(x:xs) ?? ys = xs ?? (xs ++ ys)
[] ?? xs = []
(x:xs) ?? ys = xs ?? (ys ++ xs)
[] ?? xs = []
(x:xs) ?? ys = xs ?? (ys ++ ys)
[] ?? xs = []
(x:xs) ?? ys = ys ?? (x:xs)
[] ?? xs = []
(x:xs) ?? ys = ys ?? (x:ys)
[] ?? xs = []
(x:xs) ?? ys = ys ?? [x]
[] ?? xs = []
(x:xs) ?? ys = ys ?? (xs ++ xs)
[] ?? xs = []
(x:xs) ?? ys = ys ?? (xs ++ ys)
[] ?? xs = []
(x:xs) ?? ys = ys ?? (ys ++ xs)
[] ?? xs = []
(x:xs) ?? ys = ys ?? (ys ++ ys)
xs ?? [] = xs
xs ?? (x:ys) = x:xs ?? xs
xs ?? [] = xs
xs ?? (x:ys) = x:xs ?? ys
xs ?? [] = xs
xs ?? (x:ys) = x:ys ?? xs
xs ?? [] = xs
xs ?? (x:ys) = x:ys ?? ys
xs ?? [] = xs
xs ?? (x:ys) = x:[] ?? xs
xs ?? [] = xs
xs ?? (x:ys) = x:[] ?? ys
xs ?? [] = xs
xs ?? (x:ys) = xs ++ xs ?? xs
xs ?? [] = xs
xs ?? (x:ys) = xs ++ xs ?? ys
xs ?? [] = xs
xs ?? (x:ys) = xs ++ ys ?? xs
xs ?? [] = xs
xs ?? (x:ys) = xs ++ ys ?? ys
xs ?? [] = xs
xs ?? (x:ys) = xs ++ [] ?? xs
xs ?? [] = xs
xs ?? (x:ys) = xs ++ [] ?? ys
xs ?? [] = xs
xs ?? (x:ys) = ys ++ xs ?? xs
xs ?? [] = xs
xs ?? (x:ys) = ys ++ xs ?? ys
xs ?? [] = xs
xs ?? (x:ys) = ys ++ ys ?? xs
xs ?? [] = xs
xs ?? (x:ys) = ys ++ ys ?? ys
xs ?? [] = xs
xs ?? (x:ys) = ys ++ [] ?? xs
xs ?? [] = xs
xs ?? (x:ys) = ys ++ [] ?? ys
xs ?? [] = xs
xs ?? (x:ys) = xs ?? xs ++ xs
xs ?? [] = xs
xs ?? (x:ys) = xs ?? ys ++ xs
xs ?? [] = xs
xs ?? (x:ys) = ys ?? xs ++ xs
xs ?? [] = xs
xs ?? (x:ys) = ys ?? ys ++ xs
xs ?? [] = xs
xs ?? (x:ys) = [] ?? xs ++ xs
xs ?? [] = xs
xs ?? (x:ys) = [] ?? ys ++ xs
xs ?? [] = xs
xs ?? (x:ys) = xs ?? xs ++ ys
xs ?? [] = xs
xs ?? (x:ys) = xs ?? ys ++ ys
xs ?? [] = xs
xs ?? (x:ys) = ys ?? xs ++ ys
xs ?? [] = xs
xs ?? (x:ys) = ys ?? ys ++ ys
xs ?? [] = xs
xs ?? (x:ys) = [] ?? xs ++ ys
xs ?? [] = xs
xs ?? (x:ys) = [] ?? ys ++ ys
xs ?? [] = []
xs ?? (x:ys) = x:xs ?? xs
xs ?? [] = []
xs ?? (x:ys) = x:xs ?? ys
xs ?? [] = []
xs ?? (x:ys) = x:ys ?? xs
xs ?? [] = []
xs ?? (x:ys) = x:ys ?? ys
xs ?? [] = []
xs ?? (x:ys) = x:[] ?? xs
xs ?? [] = []
xs ?? (x:ys) = x:[] ?? ys
xs ?? [] = []
xs ?? (x:ys) = xs ++ xs ?? xs
xs ?? [] = []
xs ?? (x:ys) = xs ++ xs ?? ys
xs ?? [] = []
xs ?? (x:ys) = xs ++ ys ?? xs
xs ?? [] = []
xs ?? (x:ys) = xs ++ ys ?? ys
xs ?? [] = []
xs ?? (x:ys) = xs ++ [] ?? xs
xs ?? [] = []
xs ?? (x:ys) = xs ++ [] ?? ys
xs ?? [] = []
xs ?? (x:ys) = ys ++ xs ?? xs
xs ?? [] = []
xs ?? (x:ys) = ys ++ xs ?? ys
xs ?? [] = []
xs ?? (x:ys) = ys ++ ys ?? xs
xs ?? [] = []
xs ?? (x:ys) = ys ++ ys ?? ys
xs ?? [] = []
xs ?? (x:ys) = ys ++ [] ?? xs
xs ?? [] = []
xs ?? (x:ys) = ys ++ [] ?? ys
xs ?? [] = []
xs ?? (x:ys) = xs ?? xs ++ xs
xs ?? [] = []
xs ?? (x:ys) = xs ?? ys ++ xs
xs ?? [] = []
xs ?? (x:ys) = ys ?? xs ++ xs
xs ?? [] = []
xs ?? (x:ys) = ys ?? ys ++ xs
xs ?? [] = []
xs ?? (x:ys) = [] ?? xs ++ xs
xs ?? [] = []
xs ?? (x:ys) = [] ?? ys ++ xs
xs ?? [] = []
xs ?? (x:ys) = xs ?? xs ++ ys
xs ?? [] = []
xs ?? (x:ys) = xs ?? ys ++ ys
xs ?? [] = []
xs ?? (x:ys) = ys ?? xs ++ ys
xs ?? [] = []
xs ?? (x:ys) = ys ?? ys ++ ys
xs ?? [] = []
xs ?? (x:ys) = [] ?? xs ++ ys
xs ?? [] = []
xs ?? (x:ys) = [] ?? ys ++ ys
xs ?? [] = xs ++ xs
xs ?? (x:ys) = xs ?? xs
xs ?? [] = xs ++ xs
xs ?? (x:ys) = xs ?? ys
xs ?? [] = xs ++ xs
xs ?? (x:ys) = ys ?? xs
xs ?? [] = xs ++ xs
xs ?? (x:ys) = ys ?? ys
xs ?? [] = xs ++ xs
xs ?? (x:ys) = [] ?? xs
xs ?? [] = xs ++ xs
xs ?? (x:ys) = [] ?? ys
[] ?? xs = xs
(x:xs) ?? ys = x:xs ?? xs
[] ?? xs = xs
(x:xs) ?? ys = x:xs ?? ys
[] ?? xs = xs
(x:xs) ?? ys = x:xs ?? []
[] ?? xs = xs
(x:xs) ?? ys = x:ys ?? xs
[] ?? xs = xs
(x:xs) ?? ys = x:ys ?? ys
[] ?? xs = xs
(x:xs) ?? ys = x:ys ?? []
[] ?? xs = xs
(x:xs) ?? ys = xs ++ xs ?? xs
[] ?? xs = xs
(x:xs) ?? ys = xs ++ xs ?? ys
[] ?? xs = xs
(x:xs) ?? ys = xs ++ xs ?? []
[] ?? xs = xs
(x:xs) ?? ys = xs ++ ys ?? xs
[] ?? xs = xs
(x:xs) ?? ys = xs ++ ys ?? ys
[] ?? xs = xs
(x:xs) ?? ys = xs ++ ys ?? []
[] ?? xs = xs
(x:xs) ?? ys = ys ++ xs ?? xs
[] ?? xs = xs
(x:xs) ?? ys = ys ++ xs ?? ys
[] ?? xs = xs
(x:xs) ?? ys = ys ++ xs ?? []
[] ?? xs = xs
(x:xs) ?? ys = ys ++ ys ?? xs
[] ?? xs = xs
(x:xs) ?? ys = ys ++ ys ?? ys
[] ?? xs = xs
(x:xs) ?? ys = ys ++ ys ?? []
[] ?? xs = xs
(x:xs) ?? ys = xs ?? xs ++ xs
[] ?? xs = xs
(x:xs) ?? ys = xs ?? ys ++ xs
[] ?? xs = xs
(x:xs) ?? ys = xs ?? [] ++ xs
[] ?? xs = xs
(x:xs) ?? ys = ys ?? xs ++ xs
[] ?? xs = xs
(x:xs) ?? ys = ys ?? ys ++ xs
[] ?? xs = xs
(x:xs) ?? ys = ys ?? [] ++ xs
[] ?? xs = xs
(x:xs) ?? ys = xs ?? xs ++ ys
[] ?? xs = xs
(x:xs) ?? ys = xs ?? ys ++ ys
[] ?? xs = xs
(x:xs) ?? ys = xs ?? [] ++ ys
[] ?? xs = xs
(x:xs) ?? ys = ys ?? xs ++ ys
[] ?? xs = xs
(x:xs) ?? ys = ys ?? ys ++ ys
[] ?? xs = xs
(x:xs) ?? ys = ys ?? [] ++ ys
[] ?? xs = []
(x:xs) ?? ys = x:xs ?? xs
[] ?? xs = []
(x:xs) ?? ys = x:xs ?? ys
[] ?? xs = []
(x:xs) ?? ys = x:xs ?? []
[] ?? xs = []
(x:xs) ?? ys = x:ys ?? xs
[] ?? xs = []
(x:xs) ?? ys = x:ys ?? ys
[] ?? xs = []
(x:xs) ?? ys = x:ys ?? []
[] ?? xs = []
(x:xs) ?? ys = xs ++ xs ?? xs
[] ?? xs = []
(x:xs) ?? ys = xs ++ xs ?? ys
[] ?? xs = []
(x:xs) ?? ys = xs ++ xs ?? []
[] ?? xs = []
(x:xs) ?? ys = xs ++ ys ?? xs
[] ?? xs = []
(x:xs) ?? ys = xs ++ ys ?? ys
[] ?? xs = []
(x:xs) ?? ys = xs ++ ys ?? []
[] ?? xs = []
(x:xs) ?? ys = ys ++ xs ?? xs
[] ?? xs = []
(x:xs) ?? ys = ys ++ xs ?? ys
[] ?? xs = []
(x:xs) ?? ys = ys ++ xs ?? []
[] ?? xs = []
(x:xs) ?? ys = ys ++ ys ?? xs
[] ?? xs = []
(x:xs) ?? ys = ys ++ ys ?? ys
[] ?? xs = []
(x:xs) ?? ys = ys ++ ys ?? []
[] ?? xs = []
(x:xs) ?? ys = xs ?? xs ++ xs
[] ?? xs = []
(x:xs) ?? ys = xs ?? ys ++ xs
[] ?? xs = []
(x:xs) ?? ys = xs ?? [] ++ xs
[] ?? xs = []
(x:xs) ?? ys = ys ?? xs ++ xs
[] ?? xs = []
(x:xs) ?? ys = ys ?? ys ++ xs
[] ?? xs = []
(x:xs) ?? ys = ys ?? [] ++ xs
[] ?? xs = []
(x:xs) ?? ys = xs ?? xs ++ ys
[] ?? xs = []
(x:xs) ?? ys = xs ?? ys ++ ys
[] ?? xs = []
(x:xs) ?? ys = xs ?? [] ++ ys
[] ?? xs = []
(x:xs) ?? ys = ys ?? xs ++ ys
[] ?? xs = []
(x:xs) ?? ys = ys ?? ys ++ ys
[] ?? xs = []
(x:xs) ?? ys = ys ?? [] ++ ys
[] ?? xs = xs ++ xs
(x:xs) ?? ys = xs ?? xs
[] ?? xs = xs ++ xs
(x:xs) ?? ys = xs ?? ys
[] ?? xs = xs ++ xs
(x:xs) ?? ys = xs ?? []
[] ?? xs = xs ++ xs
(x:xs) ?? ys = ys ?? xs
[] ?? xs = xs ++ xs
(x:xs) ?? ys = ys ?? ys
[] ?? xs = xs ++ xs
(x:xs) ?? ys = ys ?? []
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = xs ?? xs
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = xs ?? ys
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = xs ?? []
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = ys ?? xs
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = ys ?? ys
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = ys ?? []
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = [] ?? xs
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = [] ?? ys
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? [] = xs ?? xs
(x:xs) ?? (y:ys) = xs
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? [] = xs ?? []
(x:xs) ?? (y:ys) = xs
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? [] = [] ?? xs
(x:xs) ?? (y:ys) = xs
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? [] = xs ?? xs
(x:xs) ?? (y:ys) = []
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? [] = xs ?? []
(x:xs) ?? (y:ys) = []
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? [] = [] ?? xs
(x:xs) ?? (y:ys) = []
[] ?? [] = []
[] ?? (x:xs) = xs ?? xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = ys
[] ?? [] = []
[] ?? (x:xs) = xs ?? []
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = ys
[] ?? [] = []
[] ?? (x:xs) = [] ?? xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = ys
[] ?? [] = []
[] ?? (x:xs) = xs ?? xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = []
[] ?? [] = []
[] ?? (x:xs) = xs ?? []
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = []
[] ?? [] = []
[] ?? (x:xs) = [] ?? xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = []
xs ?? [] = xs
xs ?? (x:ys) = x:x:xs
xs ?? [] = xs
xs ?? (x:ys) = x:x:ys
xs ?? [] = xs
xs ?? (x:ys) = [x,x]
xs ?? [] = xs
xs ?? (x:ys) = x:(xs ++ xs)
xs ?? [] = xs
xs ?? (x:ys) = x:(xs ++ ys)
xs ?? [] = xs
xs ?? (x:ys) = x:(ys ++ xs)
xs ?? [] = xs
xs ?? (x:ys) = x:(ys ++ ys)
xs ?? [] = xs
xs ?? (x:ys) = xs ++ (x:xs)
xs ?? [] = xs
xs ?? (x:ys) = xs ++ (x:ys)
xs ?? [] = xs
xs ?? (x:ys) = xs ++ [x]
xs ?? [] = xs
xs ?? (x:ys) = xs ++ (xs ++ xs)
xs ?? [] = xs
xs ?? (x:ys) = xs ++ (xs ++ ys)
xs ?? [] = xs
xs ?? (x:ys) = xs ++ (ys ++ xs)
xs ?? [] = xs
xs ?? (x:ys) = xs ++ (ys ++ ys)
xs ?? [] = xs
xs ?? (x:ys) = ys ++ (x:xs)
xs ?? [] = xs
xs ?? (x:ys) = ys ++ (x:ys)
xs ?? [] = xs
xs ?? (x:ys) = ys ++ [x]
xs ?? [] = xs
xs ?? (x:ys) = ys ++ (xs ++ xs)
xs ?? [] = xs
xs ?? (x:ys) = ys ++ (xs ++ ys)
xs ?? [] = xs
xs ?? (x:ys) = ys ++ (ys ++ xs)
xs ?? [] = xs
xs ?? (x:ys) = ys ++ (ys ++ ys)
xs ?? [] = []
xs ?? (x:ys) = x:x:xs
xs ?? [] = []
xs ?? (x:ys) = x:x:ys
xs ?? [] = []
xs ?? (x:ys) = [x,x]
xs ?? [] = []
xs ?? (x:ys) = x:(xs ++ xs)
xs ?? [] = []
xs ?? (x:ys) = x:(xs ++ ys)
xs ?? [] = []
xs ?? (x:ys) = x:(ys ++ xs)
xs ?? [] = []
xs ?? (x:ys) = x:(ys ++ ys)
xs ?? [] = []
xs ?? (x:ys) = xs ++ (x:xs)
xs ?? [] = []
xs ?? (x:ys) = xs ++ (x:ys)
xs ?? [] = []
xs ?? (x:ys) = xs ++ [x]
xs ?? [] = []
xs ?? (x:ys) = xs ++ (xs ++ xs)
xs ?? [] = []
xs ?? (x:ys) = xs ++ (xs ++ ys)
xs ?? [] = []
xs ?? (x:ys) = xs ++ (ys ++ xs)
xs ?? [] = []
xs ?? (x:ys) = xs ++ (ys ++ ys)
xs ?? [] = []
xs ?? (x:ys) = ys ++ (x:xs)
xs ?? [] = []
xs ?? (x:ys) = ys ++ (x:ys)
xs ?? [] = []
xs ?? (x:ys) = ys ++ [x]
xs ?? [] = []
xs ?? (x:ys) = ys ++ (xs ++ xs)
xs ?? [] = []
xs ?? (x:ys) = ys ++ (xs ++ ys)
xs ?? [] = []
xs ?? (x:ys) = ys ++ (ys ++ xs)
xs ?? [] = []
xs ?? (x:ys) = ys ++ (ys ++ ys)
xs ?? [] = xs ++ xs
xs ?? (x:ys) = x:xs
xs ?? [] = xs ++ xs
xs ?? (x:ys) = x:ys
xs ?? [] = xs ++ xs
xs ?? (x:ys) = [x]
xs ?? [] = xs ++ xs
xs ?? (x:ys) = xs ++ ys
xs ?? [] = xs ++ xs
xs ?? (x:ys) = ys ++ xs
xs ?? [] = xs ++ xs
xs ?? (x:ys) = ys ++ ys
xs ?? [] = xs ++ (xs ++ xs)
xs ?? (x:ys) = xs
xs ?? [] = xs ++ (xs ++ xs)
xs ?? (x:ys) = ys
xs ?? [] = xs ++ (xs ++ xs)
xs ?? (x:ys) = []
[] ?? xs = xs
(x:xs) ?? ys = x:x:xs
[] ?? xs = xs
(x:xs) ?? ys = x:x:ys
[] ?? xs = xs
(x:xs) ?? ys = [x,x]
[] ?? xs = xs
(x:xs) ?? ys = x:(xs ++ xs)
[] ?? xs = xs
(x:xs) ?? ys = x:(xs ++ ys)
[] ?? xs = xs
(x:xs) ?? ys = x:(ys ++ xs)
[] ?? xs = xs
(x:xs) ?? ys = x:(ys ++ ys)
[] ?? xs = xs
(x:xs) ?? ys = xs ++ (x:xs)
[] ?? xs = xs
(x:xs) ?? ys = xs ++ (x:ys)
[] ?? xs = xs
(x:xs) ?? ys = xs ++ [x]
[] ?? xs = xs
(x:xs) ?? ys = xs ++ (xs ++ xs)
[] ?? xs = xs
(x:xs) ?? ys = xs ++ (xs ++ ys)
[] ?? xs = xs
(x:xs) ?? ys = xs ++ (ys ++ xs)
[] ?? xs = xs
(x:xs) ?? ys = xs ++ (ys ++ ys)
[] ?? xs = xs
(x:xs) ?? ys = ys ++ (x:xs)
[] ?? xs = xs
(x:xs) ?? ys = ys ++ (x:ys)
[] ?? xs = xs
(x:xs) ?? ys = ys ++ [x]
[] ?? xs = xs
(x:xs) ?? ys = ys ++ (xs ++ xs)
[] ?? xs = xs
(x:xs) ?? ys = ys ++ (xs ++ ys)
[] ?? xs = xs
(x:xs) ?? ys = ys ++ (ys ++ xs)
[] ?? xs = xs
(x:xs) ?? ys = ys ++ (ys ++ ys)
[] ?? xs = []
(x:xs) ?? ys = x:x:xs
[] ?? xs = []
(x:xs) ?? ys = x:x:ys
[] ?? xs = []
(x:xs) ?? ys = [x,x]
[] ?? xs = []
(x:xs) ?? ys = x:(xs ++ xs)
[] ?? xs = []
(x:xs) ?? ys = x:(xs ++ ys)
[] ?? xs = []
(x:xs) ?? ys = x:(ys ++ xs)
[] ?? xs = []
(x:xs) ?? ys = x:(ys ++ ys)
[] ?? xs = []
(x:xs) ?? ys = xs ++ (x:xs)
[] ?? xs = []
(x:xs) ?? ys = xs ++ (x:ys)
[] ?? xs = []
(x:xs) ?? ys = xs ++ [x]
[] ?? xs = []
(x:xs) ?? ys = xs ++ (xs ++ xs)
[] ?? xs = []
(x:xs) ?? ys = xs ++ (xs ++ ys)
[] ?? xs = []
(x:xs) ?? ys = xs ++ (ys ++ xs)
[] ?? xs = []
(x:xs) ?? ys = xs ++ (ys ++ ys)
[] ?? xs = []
(x:xs) ?? ys = ys ++ (x:xs)
[] ?? xs = []
(x:xs) ?? ys = ys ++ (x:ys)
[] ?? xs = []
(x:xs) ?? ys = ys ++ [x]
[] ?? xs = []
(x:xs) ?? ys = ys ++ (xs ++ xs)
[] ?? xs = []
(x:xs) ?? ys = ys ++ (xs ++ ys)
[] ?? xs = []
(x:xs) ?? ys = ys ++ (ys ++ xs)
[] ?? xs = []
(x:xs) ?? ys = ys ++ (ys ++ ys)
[] ?? xs = xs ++ xs
(x:xs) ?? ys = x:xs
[] ?? xs = xs ++ xs
(x:xs) ?? ys = x:ys
[] ?? xs = xs ++ xs
(x:xs) ?? ys = [x]
[] ?? xs = xs ++ xs
(x:xs) ?? ys = xs ++ ys
[] ?? xs = xs ++ xs
(x:xs) ?? ys = ys ++ xs
[] ?? xs = xs ++ (xs ++ xs)
(x:xs) ?? ys = xs
[] ?? xs = xs ++ (xs ++ xs)
(x:xs) ?? ys = ys
[] ?? xs = xs ++ (xs ++ xs)
(x:xs) ?? ys = []
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = x:xs
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = x:ys
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = [x]
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = y:xs
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = y:ys
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = [y]
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = xs ++ xs
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = xs ++ ys
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = ys ++ xs
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = ys ++ ys
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? [] = x:xs
(x:xs) ?? (y:ys) = xs
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? [] = x:xs
(x:xs) ?? (y:ys) = []
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? [] = [x]
(x:xs) ?? (y:ys) = xs
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? [] = [x]
(x:xs) ?? (y:ys) = []
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? [] = xs ++ xs
(x:xs) ?? (y:ys) = xs
[] ?? [] = []
[] ?? (x:xs) = xs
(x:xs) ?? [] = xs ++ xs
(x:xs) ?? (y:ys) = []
[] ?? [] = []
[] ?? (x:xs) = x:xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = ys
[] ?? [] = []
[] ?? (x:xs) = x:xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = []
[] ?? [] = []
[] ?? (x:xs) = [x]
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = ys
[] ?? [] = []
[] ?? (x:xs) = [x]
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = []
[] ?? [] = []
[] ?? (x:xs) = xs ++ xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = ys
[] ?? [] = []
[] ?? (x:xs) = xs ++ xs
(x:xs) ?? [] = xs
(x:xs) ?? (y:ys) = []
Candidates for: ton :: Bool -> Bool
pruning with 39/49 rules
[3,1,0,2,6,10,22,40,76] direct candidates, 0 duplicates
[3,3,0,0,0,0,0,0,0] pattern candidates, 0 duplicates
rules:
not False == True
not True == False
p && p == p
p || p == p
not (not p) == p
p && False == False
p && True == p
False && p == False
True && p == p
p || False == p
p || True == True
False || p == p
True || p == True
not (p && q) == not p || not q
not (p && q) == not q || not p
not (p || q) == not p && not q
not (p || q) == not q && not p
p && not p == False
not p && p == False
p || not p == True
not p || p == True
(p && q) && r == p && (q && r)
(p && q) && r == q && (p && r)
(p || q) || r == p || (q || r)
(p || q) || r == q || (p || r)
p && (p && q) == p && q
p && (q && p) == p && q
p && (q && p) == q && p
p || (p || q) == p || q
p || (q || p) == p || q
p || (q || p) == q || p
p && (p || q) == p
p && (q || p) == p
(p || q) && p == p
(p || q) && q == q
p || p && q == p
p || q && p == p
p && q || p == p
p && q || q == q
equations:
q && p == p && q
q || p == p || q
q && (p && r) == p && (q && r)
r && (p && q) == p && (q && r)
r && (q && p) == p && (q && r)
q || (p || r) == p || (q || r)
r || (p || q) == p || (q || r)
r || (q || p) == p || (q || r)
(r || q) && p == p && (q || r)
r && q || p == p || q && r
direct candidates:
ton p = p
ton p = False
ton p = True
ton p = not p
ton p = p && ton p
ton p = p || ton p
ton p = p && ton (not p)
ton p = p || ton (not p)
ton p = p && not (ton p)
ton p = not p && ton p
ton p = p || not (ton p)
ton p = not p || ton p
ton p = p && not (ton (not p))
ton p = not p && ton (not p)
ton p = p || not (ton (not p))
ton p = not p || ton (not p)
ton p = p && (p && ton p)
ton p = p && (p || ton p)
ton p = not p && not (ton p)
ton p = p || p && ton p
ton p = p || (p || ton p)
ton p = not p || not (ton p)
pattern candidates:
ton p = p
ton p = False
ton p = True
ton p = not p
ton False = False
ton True = True
ton False = True
ton True = False
Candidates for: &| :: Bool -> Bool -> Bool
pruning with 39/49 rules
[4,2,2,4,30,112,342,1032,2852] direct candidates, 0 duplicates
[4,14,26,10,2,16,18,60,120] pattern candidates, 0 duplicates
rules:
not False == True
not True == False
p && p == p
p || p == p
not (not p) == p
p && False == False
p && True == p
False && p == False
True && p == p
p || False == p
p || True == True
False || p == p
True || p == True
not (p && q) == not p || not q
not (p && q) == not q || not p
not (p || q) == not p && not q
not (p || q) == not q && not p
p && not p == False
not p && p == False
p || not p == True
not p || p == True
(p && q) && r == p && (q && r)
(p && q) && r == q && (p && r)
(p || q) || r == p || (q || r)
(p || q) || r == q || (p || r)
p && (p && q) == p && q
p && (q && p) == p && q
p && (q && p) == q && p
p || (p || q) == p || q
p || (q || p) == p || q
p || (q || p) == q || p
p && (p || q) == p
p && (q || p) == p
(p || q) && p == p
(p || q) && q == q
p || p && q == p
p || q && p == p
p && q || p == p
p && q || q == q
equations:
q && p == p && q
q || p == p || q
q && (p && r) == p && (q && r)
r && (p && q) == p && (q && r)
r && (q && p) == p && (q && r)
q || (p || r) == p || (q || r)
r || (p || q) == p || (q || r)
r || (q || p) == p || (q || r)
(r || q) && p == p && (q || r)
r && q || p == p || q && r
direct candidates:
p &| q = p
p &| q = q
p &| q = False
p &| q = True
p &| q = not p
p &| q = not q
p &| q = p && q
p &| q = p || q
p &| q = p && not q
p &| q = q && not p
p &| q = p || not q
p &| q = q || not p
p &| q = not p && not q
p &| q = not p || not q
p &| q = p && p &| p
p &| q = p && p &| q
p &| q = p && p &| False
p &| q = p && p &| True
p &| q = p && q &| q
p &| q = p && False &| q
p &| q = p && True &| q
p &| q = q && p &| p
p &| q = q && p &| q
p &| q = q && p &| False
p &| q = q && p &| True
p &| q = q && q &| q
p &| q = q && False &| q
p &| q = q && True &| q
p &| q = p || p &| p
p &| q = p || p &| q
p &| q = p || p &| False
p &| q = p || p &| True
p &| q = p || q &| q
p &| q = p || False &| q
p &| q = p || True &| q
p &| q = q || p &| p
p &| q = q || p &| q
p &| q = q || p &| False
p &| q = q || p &| True
p &| q = q || q &| q
p &| q = q || False &| q
p &| q = q || True &| q
p &| q = p && (q && not p)
p &| q = p && (q || not p)
p &| q = q && (p && not q)
p &| q = q && (p || not q)
p &| q = p || q && not p
p &| q = p || (q || not p)
p &| q = q || p && not q
p &| q = q || (p || not q)
p &| q = not p && (p && q)
p &| q = not p && (p || q)
p &| q = not q && (p && q)
p &| q = not q && (p || q)
p &| q = not p || p && q
p &| q = not p || (p || q)
p &| q = not q || p && q
p &| q = not q || (p || q)
p &| q = p && p &| not p
p &| q = p && p &| not q
p &| q = p && q &| not q
p &| q = p && False &| not q
p &| q = p && True &| not q
p &| q = p && not p &| p
p &| q = p && not p &| q
p &| q = p && not p &| False
p &| q = p && not p &| True
p &| q = p && not q &| q
p &| q = q && p &| not p
p &| q = q && p &| not q
p &| q = q && q &| not q
p &| q = q && False &| not q
p &| q = q && True &| not q
p &| q = q && not p &| p
p &| q = q && not p &| q
p &| q = q && not p &| False
p &| q = q && not p &| True
p &| q = q && not q &| q
p &| q = p || p &| not p
p &| q = p || p &| not q
p &| q = p || q &| not q
p &| q = p || False &| not q
p &| q = p || True &| not q
p &| q = p || not p &| p
p &| q = p || not p &| q
p &| q = p || not p &| False
p &| q = p || not p &| True
p &| q = p || not q &| q
p &| q = q || p &| not p
p &| q = q || p &| not q
p &| q = q || q &| not q
p &| q = q || False &| not q
p &| q = q || True &| not q
p &| q = q || not p &| p
p &| q = q || not p &| q
p &| q = q || not p &| False
p &| q = q || not p &| True
p &| q = q || not q &| q
p &| q = p && not (p &| p)
p &| q = p && not (p &| q)
p &| q = p && not (p &| False)
p &| q = p && not (p &| True)
p &| q = p && not (q &| q)
p &| q = p && not (False &| q)
p &| q = p && not (True &| q)
p &| q = q && not (p &| p)
p &| q = q && not (p &| q)
p &| q = q && not (p &| False)
p &| q = q && not (p &| True)
p &| q = q && not (q &| q)
p &| q = q && not (False &| q)
p &| q = q && not (True &| q)
p &| q = not p && p &| p
p &| q = not p && p &| q
p &| q = not p && p &| False
p &| q = not p && p &| True
p &| q = not p && q &| q
p &| q = not p && False &| q
p &| q = not p && True &| q
p &| q = not q && p &| p
p &| q = not q && p &| q
p &| q = not q && p &| False
p &| q = not q && p &| True
p &| q = not q && q &| q
p &| q = not q && False &| q
p &| q = not q && True &| q
p &| q = p || not (p &| p)
p &| q = p || not (p &| q)
p &| q = p || not (p &| False)
p &| q = p || not (p &| True)
p &| q = p || not (q &| q)
p &| q = p || not (False &| q)
p &| q = p || not (True &| q)
p &| q = q || not (p &| p)
p &| q = q || not (p &| q)
p &| q = q || not (p &| False)
p &| q = q || not (p &| True)
p &| q = q || not (q &| q)
p &| q = q || not (False &| q)
p &| q = q || not (True &| q)
p &| q = not p || p &| p
p &| q = not p || p &| q
p &| q = not p || p &| False
p &| q = not p || p &| True
p &| q = not p || q &| q
p &| q = not p || False &| q
p &| q = not p || True &| q
p &| q = not q || p &| p
p &| q = not q || p &| q
p &| q = not q || p &| False
p &| q = not q || p &| True
p &| q = not q || q &| q
p &| q = not q || False &| q
p &| q = not q || True &| q
pattern candidates:
p &| q = p
p &| q = q
p &| q = False
p &| q = True
p &| q = not p
p &| q = not q
p &| False = p
p &| True = False
p &| False = p
p &| True = True
p &| False = False
p &| True = p
p &| False = False
p &| True = True
p &| False = True
p &| True = p
p &| False = True
p &| True = False
False &| p = p
True &| p = False
False &| p = p
True &| p = True
False &| p = False
True &| p = p
False &| p = False
True &| p = True
False &| p = True
True &| p = p
False &| p = True
True &| p = False
p &| q = p && q
p &| q = p || q
p &| False = p
p &| True = not p
p &| False = False
p &| True = not p
p &| False = True
p &| True = not p
p &| False = not p
p &| True = p
p &| False = not p
p &| True = False
p &| False = not p
p &| True = True
False &| p = p
True &| p = not p
False &| p = False
True &| p = not p
False &| p = True
True &| p = not p
False &| p = not p
True &| p = p
False &| p = not p
True &| p = False
False &| p = not p
True &| p = True
False &| p = p
True &| False = False
True &| True = True
False &| p = p
True &| False = True
True &| True = False
False &| p = False
True &| False = False
True &| True = True
False &| p = False
True &| False = True
True &| True = False
False &| p = True
True &| False = False
True &| True = True
False &| p = True
True &| False = True
True &| True = False
False &| False = False
False &| True = True
True &| p = p
False &| False = False
False &| True = True
True &| p = False
False &| False = False
False &| True = True
True &| p = True
False &| False = True
False &| True = False
True &| p = p
False &| False = True
False &| True = False
True &| p = False
False &| False = True
False &| True = False
True &| p = True
p &| q = p && not q
p &| q = q && not p
p &| q = p || not q
p &| q = q || not p
False &| p = not p
True &| False = False
True &| True = True
False &| p = not p
True &| False = True
True &| True = False
False &| False = False
False &| True = True
True &| p = not p
False &| False = True
False &| True = False
True &| p = not p
False &| False = False
False &| True = True
True &| False = True
True &| True = False
False &| False = True
False &| True = False
True &| False = False
True &| True = True
p &| q = not p && not q
p &| q = not p || not q
p &| q = p && (q && not p)
p &| q = p && (q || not p)
p &| q = q && (p && not q)
p &| q = q && (p || not q)
p &| q = p || q && not p
p &| q = p || (q || not p)
p &| q = q || p && not q
p &| q = q || (p || not q)
p &| q = not p && (p && q)
p &| q = not p && (p || q)
p &| q = not q && (p && q)
p &| q = not q && (p || q)
p &| q = not p || p && q
p &| q = not p || (p || q)
p &| q = not q || p && q
p &| q = not q || (p || q)
Candidates for: gcd :: Int -> Int -> Int
pruning with 0/0 rules
[3,0,9,0,54,0,405,0,3402] direct candidates, 0 duplicates
[3,5,11,50,98,359,786,2836,6723] pattern candidates, 0 duplicates
no rules.
direct candidates:
gcd x y = x
gcd x y = y
gcd x y = 0
gcd x y = x `mod` x
gcd x y = x `mod` y
gcd x y = x `mod` 0
gcd x y = y `mod` x
gcd x y = y `mod` y
gcd x y = y `mod` 0
gcd x y = 0 `mod` x
gcd x y = 0 `mod` y
gcd x y = 0 `mod` 0
gcd x y = (x `mod` x) `mod` x
gcd x y = (x `mod` x) `mod` y
gcd x y = (x `mod` x) `mod` 0
gcd x y = (x `mod` y) `mod` x
gcd x y = (x `mod` y) `mod` y
gcd x y = (x `mod` y) `mod` 0
gcd x y = (x `mod` 0) `mod` x
gcd x y = (x `mod` 0) `mod` y
gcd x y = (x `mod` 0) `mod` 0
gcd x y = (y `mod` x) `mod` x
gcd x y = (y `mod` x) `mod` y
gcd x y = (y `mod` x) `mod` 0
gcd x y = (y `mod` y) `mod` x
gcd x y = (y `mod` y) `mod` y
gcd x y = (y `mod` y) `mod` 0
gcd x y = (y `mod` 0) `mod` x
gcd x y = (y `mod` 0) `mod` y
gcd x y = (y `mod` 0) `mod` 0
gcd x y = (0 `mod` x) `mod` x
gcd x y = (0 `mod` x) `mod` y
gcd x y = (0 `mod` x) `mod` 0
gcd x y = (0 `mod` y) `mod` x
gcd x y = (0 `mod` y) `mod` y
gcd x y = (0 `mod` y) `mod` 0
gcd x y = (0 `mod` 0) `mod` x
gcd x y = (0 `mod` 0) `mod` y
gcd x y = (0 `mod` 0) `mod` 0
gcd x y = x `mod` (x `mod` x)
gcd x y = x `mod` (x `mod` y)
gcd x y = x `mod` (x `mod` 0)
gcd x y = x `mod` (y `mod` x)
gcd x y = x `mod` (y `mod` y)
gcd x y = x `mod` (y `mod` 0)
gcd x y = x `mod` (0 `mod` x)
gcd x y = x `mod` (0 `mod` y)
gcd x y = x `mod` (0 `mod` 0)
gcd x y = y `mod` (x `mod` x)
gcd x y = y `mod` (x `mod` y)
gcd x y = y `mod` (x `mod` 0)
gcd x y = y `mod` (y `mod` x)
gcd x y = y `mod` (y `mod` y)
gcd x y = y `mod` (y `mod` 0)
gcd x y = y `mod` (0 `mod` x)
gcd x y = y `mod` (0 `mod` y)
gcd x y = y `mod` (0 `mod` 0)
gcd x y = 0 `mod` (x `mod` x)
gcd x y = 0 `mod` (x `mod` y)
gcd x y = 0 `mod` (x `mod` 0)
gcd x y = 0 `mod` (y `mod` x)
gcd x y = 0 `mod` (y `mod` y)
gcd x y = 0 `mod` (y `mod` 0)
gcd x y = 0 `mod` (0 `mod` x)
gcd x y = 0 `mod` (0 `mod` y)
gcd x y = 0 `mod` (0 `mod` 0)
pattern candidates:
gcd x y = x
gcd x y = y
gcd x y = 0
gcd x 0 = x
gcd x y = y
gcd x 0 = x
gcd x y = 0
gcd x 0 = 0
gcd x y = x
gcd 0 x = x
gcd x y = 0
gcd 0 x = 0
gcd x y = y
gcd x y = x `mod` x
gcd x y = x `mod` y
gcd x y = x `mod` 0
gcd x y = y `mod` x
gcd x y = y `mod` y
gcd x y = y `mod` 0
gcd x y = 0 `mod` x
gcd x y = 0 `mod` y
gcd 0 x = x
gcd x 0 = x
gcd x y = 0
gcd 0 x = x
gcd x 0 = 0
gcd x y = x
gcd 0 x = 0
gcd x 0 = x
gcd x y = y
gcd x 0 = x
gcd x y = x `mod` x
gcd x 0 = x
gcd x y = x `mod` y
gcd x 0 = x
gcd x y = x `mod` 0
gcd x 0 = x
gcd x y = y `mod` x
gcd x 0 = x
gcd x y = y `mod` y
gcd x 0 = x
gcd x y = y `mod` 0
gcd x 0 = x
gcd x y = 0 `mod` x
gcd x 0 = x
gcd x y = 0 `mod` y
gcd x 0 = 0
gcd x y = x `mod` x
gcd x 0 = 0
gcd x y = x `mod` y
gcd x 0 = 0
gcd x y = x `mod` 0
gcd x 0 = 0
gcd x y = y `mod` x
gcd x 0 = 0
gcd x y = y `mod` y
gcd x 0 = 0
gcd x y = y `mod` 0
gcd x 0 = 0
gcd x y = 0 `mod` x
gcd x 0 = 0
gcd x y = 0 `mod` y
gcd x 0 = x `mod` x
gcd x y = x
gcd x 0 = x `mod` x
gcd x y = y
gcd x 0 = x `mod` x
gcd x y = 0
gcd x 0 = x `mod` 0
gcd x y = x
gcd x 0 = x `mod` 0
gcd x y = y
gcd x 0 = x `mod` 0
gcd x y = 0
gcd x 0 = 0 `mod` x
gcd x y = x
gcd x 0 = 0 `mod` x
gcd x y = y
gcd x 0 = 0 `mod` x
gcd x y = 0
gcd 0 x = x
gcd x y = x `mod` x
gcd 0 x = x
gcd x y = x `mod` y
gcd 0 x = x
gcd x y = x `mod` 0
gcd 0 x = x
gcd x y = y `mod` x
gcd 0 x = x
gcd x y = y `mod` y
gcd 0 x = x
gcd x y = y `mod` 0
gcd 0 x = x
gcd x y = 0 `mod` x
gcd 0 x = x
gcd x y = 0 `mod` y
gcd 0 x = 0
gcd x y = x `mod` x
gcd 0 x = 0
gcd x y = x `mod` y
gcd 0 x = 0
gcd x y = x `mod` 0
gcd 0 x = 0
gcd x y = y `mod` x
gcd 0 x = 0
gcd x y = y `mod` y
gcd 0 x = 0
gcd x y = y `mod` 0
gcd 0 x = 0
gcd x y = 0 `mod` x
gcd 0 x = 0
gcd x y = 0 `mod` y
gcd 0 x = x `mod` x
gcd x y = x
gcd 0 x = x `mod` x
gcd x y = y
gcd 0 x = x `mod` x
gcd x y = 0
gcd 0 x = x `mod` 0
gcd x y = x
gcd 0 x = x `mod` 0
gcd x y = y
gcd 0 x = x `mod` 0
gcd x y = 0
gcd 0 x = 0 `mod` x
gcd x y = x
gcd 0 x = 0 `mod` x
gcd x y = y
gcd 0 x = 0 `mod` x
gcd x y = 0
gcd x y = (x `mod` x) `mod` x
gcd x y = (x `mod` x) `mod` y
gcd x y = (x `mod` x) `mod` 0
gcd x y = (x `mod` y) `mod` x
gcd x y = (x `mod` y) `mod` y
gcd x y = (x `mod` y) `mod` 0
gcd x y = (x `mod` 0) `mod` x
gcd x y = (x `mod` 0) `mod` y
gcd x y = (x `mod` 0) `mod` 0
gcd x y = (y `mod` x) `mod` x
gcd x y = (y `mod` x) `mod` y
gcd x y = (y `mod` x) `mod` 0
gcd x y = (y `mod` y) `mod` x
gcd x y = (y `mod` y) `mod` y
gcd x y = (y `mod` y) `mod` 0
gcd x y = (y `mod` 0) `mod` x
gcd x y = (y `mod` 0) `mod` y
gcd x y = (y `mod` 0) `mod` 0
gcd x y = (0 `mod` x) `mod` x
gcd x y = (0 `mod` x) `mod` y
gcd x y = (0 `mod` x) `mod` 0
gcd x y = (0 `mod` y) `mod` x
gcd x y = (0 `mod` y) `mod` y
gcd x y = (0 `mod` y) `mod` 0
gcd x y = x `mod` (x `mod` x)
gcd x y = x `mod` (x `mod` y)
gcd x y = x `mod` (x `mod` 0)
gcd x y = x `mod` (y `mod` x)
gcd x y = x `mod` (y `mod` y)
gcd x y = x `mod` (y `mod` 0)
gcd x y = x `mod` (0 `mod` x)
gcd x y = x `mod` (0 `mod` y)
gcd x y = y `mod` (x `mod` x)
gcd x y = y `mod` (x `mod` y)
gcd x y = y `mod` (x `mod` 0)
gcd x y = y `mod` (y `mod` x)
gcd x y = y `mod` (y `mod` y)
gcd x y = y `mod` (y `mod` 0)
gcd x y = y `mod` (0 `mod` x)
gcd x y = y `mod` (0 `mod` y)
gcd x y = 0 `mod` (x `mod` x)
gcd x y = 0 `mod` (x `mod` y)
gcd x y = 0 `mod` (x `mod` 0)
gcd x y = 0 `mod` (y `mod` x)
gcd x y = 0 `mod` (y `mod` y)
gcd x y = 0 `mod` (y `mod` 0)
gcd x y = 0 `mod` (0 `mod` x)
gcd x y = 0 `mod` (0 `mod` y)
gcd 0 x = x
gcd x 0 = x
gcd x y = x `mod` x
gcd 0 x = x
gcd x 0 = x
gcd x y = x `mod` y
gcd 0 x = x
gcd x 0 = x
gcd x y = x `mod` 0
gcd 0 x = x
gcd x 0 = x
gcd x y = y `mod` x
gcd 0 x = x
gcd x 0 = x
gcd x y = y `mod` y
gcd 0 x = x
gcd x 0 = x
gcd x y = y `mod` 0
gcd 0 x = x
gcd x 0 = x
gcd x y = 0 `mod` x
gcd 0 x = x
gcd x 0 = x
gcd x y = 0 `mod` y
gcd 0 x = x
gcd x 0 = 0
gcd x y = x `mod` x
gcd 0 x = x
gcd x 0 = 0
gcd x y = x `mod` y
gcd 0 x = x
gcd x 0 = 0
gcd x y = x `mod` 0
gcd 0 x = x
gcd x 0 = 0
gcd x y = y `mod` x
gcd 0 x = x
gcd x 0 = 0
gcd x y = y `mod` y
gcd 0 x = x
gcd x 0 = 0
gcd x y = y `mod` 0
gcd 0 x = x
gcd x 0 = 0
gcd x y = 0 `mod` x
gcd 0 x = x
gcd x 0 = 0
gcd x y = 0 `mod` y
gcd 0 x = x
gcd x 0 = x `mod` x
gcd x y = x
gcd 0 x = x
gcd x 0 = x `mod` x
gcd x y = 0
gcd 0 x = x
gcd x 0 = x `mod` 0
gcd x y = x
gcd 0 x = x
gcd x 0 = x `mod` 0
gcd x y = 0
gcd 0 x = x
gcd x 0 = 0 `mod` x
gcd x y = x
gcd 0 x = x
gcd x 0 = 0 `mod` x
gcd x y = 0
gcd 0 x = 0
gcd x 0 = x
gcd x y = x `mod` x
gcd 0 x = 0
gcd x 0 = x
gcd x y = x `mod` y
gcd 0 x = 0
gcd x 0 = x
gcd x y = x `mod` 0
gcd 0 x = 0
gcd x 0 = x
gcd x y = y `mod` x
gcd 0 x = 0
gcd x 0 = x
gcd x y = y `mod` y
gcd 0 x = 0
gcd x 0 = x
gcd x y = y `mod` 0
gcd 0 x = 0
gcd x 0 = x
gcd x y = 0 `mod` x
gcd 0 x = 0
gcd x 0 = x
gcd x y = 0 `mod` y
gcd 0 x = 0
gcd x 0 = 0
gcd x y = x `mod` x
gcd 0 x = 0
gcd x 0 = 0
gcd x y = x `mod` y
gcd 0 x = 0
gcd x 0 = 0
gcd x y = x `mod` 0
gcd 0 x = 0
gcd x 0 = 0
gcd x y = y `mod` x
gcd 0 x = 0
gcd x 0 = 0
gcd x y = y `mod` y
gcd 0 x = 0
gcd x 0 = 0
gcd x y = y `mod` 0
gcd 0 x = 0
gcd x 0 = 0
gcd x y = 0 `mod` x
gcd 0 x = 0
gcd x 0 = 0
gcd x y = 0 `mod` y
gcd 0 x = 0
gcd x 0 = x `mod` x
gcd x y = y
gcd 0 x = 0
gcd x 0 = x `mod` 0
gcd x y = y
gcd 0 x = 0
gcd x 0 = 0 `mod` x
gcd x y = y
gcd 0 x = x `mod` x
gcd x 0 = x
gcd x y = y
gcd 0 x = x `mod` x
gcd x 0 = x
gcd x y = 0
gcd 0 x = x `mod` x
gcd x 0 = 0
gcd x y = x
gcd 0 x = x `mod` 0
gcd x 0 = x
gcd x y = y
gcd 0 x = x `mod` 0
gcd x 0 = x
gcd x y = 0
gcd 0 x = x `mod` 0
gcd x 0 = 0
gcd x y = x
gcd 0 x = 0 `mod` x
gcd x 0 = x
gcd x y = y
gcd 0 x = 0 `mod` x
gcd x 0 = x
gcd x y = 0
gcd 0 x = 0 `mod` x
gcd x 0 = 0
gcd x y = x
gcd x 0 = x
gcd x y = gcd x (x `mod` y)
gcd x 0 = x
gcd x y = gcd x (y `mod` y)
gcd x 0 = x
gcd x y = gcd x (0 `mod` y)
gcd x 0 = x
gcd x y = gcd y (x `mod` y)
gcd x 0 = x
gcd x y = gcd y (y `mod` y)
gcd x 0 = x
gcd x y = gcd y (0 `mod` y)
gcd x 0 = x
gcd x y = gcd 0 (x `mod` y)
gcd x 0 = x
gcd x y = gcd 0 (y `mod` y)
gcd x 0 = x
gcd x y = gcd 0 (0 `mod` y)
gcd x 0 = x
gcd x y = gcd (x `mod` x) x
gcd x 0 = x
gcd x y = gcd (x `mod` x) y
gcd x 0 = x
gcd x y = gcd (y `mod` x) x
gcd x 0 = x
gcd x y = gcd (y `mod` x) y
gcd x 0 = x
gcd x y = gcd (0 `mod` x) x
gcd x 0 = x
gcd x y = gcd (0 `mod` x) y
gcd x 0 = 0
gcd x y = gcd x (x `mod` y)
gcd x 0 = 0
gcd x y = gcd x (y `mod` y)
gcd x 0 = 0
gcd x y = gcd x (0 `mod` y)
gcd x 0 = 0
gcd x y = gcd y (x `mod` y)
gcd x 0 = 0
gcd x y = gcd y (y `mod` y)
gcd x 0 = 0
gcd x y = gcd y (0 `mod` y)
gcd x 0 = 0
gcd x y = gcd 0 (x `mod` y)
gcd x 0 = 0
gcd x y = gcd 0 (y `mod` y)
gcd x 0 = 0
gcd x y = gcd 0 (0 `mod` y)
gcd x 0 = 0
gcd x y = gcd (x `mod` x) x
gcd x 0 = 0
gcd x y = gcd (x `mod` x) y
gcd x 0 = 0
gcd x y = gcd (y `mod` x) x
gcd x 0 = 0
gcd x y = gcd (y `mod` x) y
gcd x 0 = 0
gcd x y = gcd (0 `mod` x) x
gcd x 0 = 0
gcd x y = gcd (0 `mod` x) y
gcd 0 x = x
gcd x y = gcd x (x `mod` y)
gcd 0 x = x
gcd x y = gcd x (y `mod` y)
gcd 0 x = x
gcd x y = gcd x (0 `mod` y)
gcd 0 x = x
gcd x y = gcd y (x `mod` y)
gcd 0 x = x
gcd x y = gcd y (y `mod` y)
gcd 0 x = x
gcd x y = gcd y (0 `mod` y)
gcd 0 x = x
gcd x y = gcd (x `mod` x) x
gcd 0 x = x
gcd x y = gcd (x `mod` x) y
gcd 0 x = x
gcd x y = gcd (x `mod` x) 0
gcd 0 x = x
gcd x y = gcd (y `mod` x) x
gcd 0 x = x
gcd x y = gcd (y `mod` x) y
gcd 0 x = x
gcd x y = gcd (y `mod` x) 0
gcd 0 x = x
gcd x y = gcd (0 `mod` x) x
gcd 0 x = x
gcd x y = gcd (0 `mod` x) y
gcd 0 x = x
gcd x y = gcd (0 `mod` x) 0
gcd 0 x = 0
gcd x y = gcd x (x `mod` y)
gcd 0 x = 0
gcd x y = gcd x (y `mod` y)
gcd 0 x = 0
gcd x y = gcd x (0 `mod` y)
gcd 0 x = 0
gcd x y = gcd y (x `mod` y)
gcd 0 x = 0
gcd x y = gcd y (y `mod` y)
gcd 0 x = 0
gcd x y = gcd y (0 `mod` y)
gcd 0 x = 0
gcd x y = gcd (x `mod` x) x
gcd 0 x = 0
gcd x y = gcd (x `mod` x) y
gcd 0 x = 0
gcd x y = gcd (x `mod` x) 0
gcd 0 x = 0
gcd x y = gcd (y `mod` x) x
gcd 0 x = 0
gcd x y = gcd (y `mod` x) y
gcd 0 x = 0
gcd x y = gcd (y `mod` x) 0
gcd 0 x = 0
gcd x y = gcd (0 `mod` x) x
gcd 0 x = 0
gcd x y = gcd (0 `mod` x) y
gcd 0 x = 0
gcd x y = gcd (0 `mod` x) 0
gcd x 0 = x
gcd x y = (x `mod` x) `mod` x
gcd x 0 = x
gcd x y = (x `mod` x) `mod` y
gcd x 0 = x
gcd x y = (x `mod` x) `mod` 0
gcd x 0 = x
gcd x y = (x `mod` y) `mod` x
gcd x 0 = x
gcd x y = (x `mod` y) `mod` y
gcd x 0 = x
gcd x y = (x `mod` y) `mod` 0
gcd x 0 = x
gcd x y = (x `mod` 0) `mod` x
gcd x 0 = x
gcd x y = (x `mod` 0) `mod` y
gcd x 0 = x
gcd x y = (x `mod` 0) `mod` 0
gcd x 0 = x
gcd x y = (y `mod` x) `mod` x
gcd x 0 = x
gcd x y = (y `mod` x) `mod` y
gcd x 0 = x
gcd x y = (y `mod` x) `mod` 0
gcd x 0 = x
gcd x y = (y `mod` y) `mod` x
gcd x 0 = x
gcd x y = (y `mod` y) `mod` y
gcd x 0 = x
gcd x y = (y `mod` y) `mod` 0
gcd x 0 = x
gcd x y = (y `mod` 0) `mod` x
gcd x 0 = x
gcd x y = (y `mod` 0) `mod` y
gcd x 0 = x
gcd x y = (y `mod` 0) `mod` 0
gcd x 0 = x
gcd x y = (0 `mod` x) `mod` x
gcd x 0 = x
gcd x y = (0 `mod` x) `mod` y
gcd x 0 = x
gcd x y = (0 `mod` x) `mod` 0
gcd x 0 = x
gcd x y = (0 `mod` y) `mod` x
gcd x 0 = x
gcd x y = (0 `mod` y) `mod` y
gcd x 0 = x
gcd x y = (0 `mod` y) `mod` 0
gcd x 0 = x
gcd x y = x `mod` (x `mod` x)
gcd x 0 = x
gcd x y = x `mod` (x `mod` y)
gcd x 0 = x
gcd x y = x `mod` (x `mod` 0)
gcd x 0 = x
gcd x y = x `mod` (y `mod` x)
gcd x 0 = x
gcd x y = x `mod` (y `mod` y)
gcd x 0 = x
gcd x y = x `mod` (y `mod` 0)
gcd x 0 = x
gcd x y = x `mod` (0 `mod` x)
gcd x 0 = x
gcd x y = x `mod` (0 `mod` y)
gcd x 0 = x
gcd x y = y `mod` (x `mod` x)
gcd x 0 = x
gcd x y = y `mod` (x `mod` y)
gcd x 0 = x
gcd x y = y `mod` (x `mod` 0)
gcd x 0 = x
gcd x y = y `mod` (y `mod` x)
gcd x 0 = x
gcd x y = y `mod` (y `mod` y)
gcd x 0 = x
gcd x y = y `mod` (y `mod` 0)
gcd x 0 = x
gcd x y = y `mod` (0 `mod` x)
gcd x 0 = x
gcd x y = y `mod` (0 `mod` y)
gcd x 0 = x
gcd x y = 0 `mod` (x `mod` x)
gcd x 0 = x
gcd x y = 0 `mod` (x `mod` y)
gcd x 0 = x
gcd x y = 0 `mod` (x `mod` 0)
gcd x 0 = x
gcd x y = 0 `mod` (y `mod` x)
gcd x 0 = x
gcd x y = 0 `mod` (y `mod` y)
gcd x 0 = x
gcd x y = 0 `mod` (y `mod` 0)
gcd x 0 = x
gcd x y = 0 `mod` (0 `mod` x)
gcd x 0 = x
gcd x y = 0 `mod` (0 `mod` y)
gcd x 0 = 0
gcd x y = (x `mod` x) `mod` x
gcd x 0 = 0
gcd x y = (x `mod` x) `mod` y
gcd x 0 = 0
gcd x y = (x `mod` x) `mod` 0
gcd x 0 = 0
gcd x y = (x `mod` y) `mod` x
gcd x 0 = 0
gcd x y = (x `mod` y) `mod` y
gcd x 0 = 0
gcd x y = (x `mod` y) `mod` 0
gcd x 0 = 0
gcd x y = (x `mod` 0) `mod` x
gcd x 0 = 0
gcd x y = (x `mod` 0) `mod` y
gcd x 0 = 0
gcd x y = (x `mod` 0) `mod` 0
gcd x 0 = 0
gcd x y = (y `mod` x) `mod` x
gcd x 0 = 0
gcd x y = (y `mod` x) `mod` y
gcd x 0 = 0
gcd x y = (y `mod` x) `mod` 0
gcd x 0 = 0
gcd x y = (y `mod` y) `mod` x
gcd x 0 = 0
gcd x y = (y `mod` y) `mod` y
gcd x 0 = 0
gcd x y = (y `mod` y) `mod` 0
gcd x 0 = 0
gcd x y = (y `mod` 0) `mod` x
gcd x 0 = 0
gcd x y = (y `mod` 0) `mod` y
gcd x 0 = 0
gcd x y = (y `mod` 0) `mod` 0
gcd x 0 = 0
gcd x y = (0 `mod` x) `mod` x
gcd x 0 = 0
gcd x y = (0 `mod` x) `mod` y
gcd x 0 = 0
gcd x y = (0 `mod` x) `mod` 0
gcd x 0 = 0
gcd x y = (0 `mod` y) `mod` x
gcd x 0 = 0
gcd x y = (0 `mod` y) `mod` y
gcd x 0 = 0
gcd x y = (0 `mod` y) `mod` 0
gcd x 0 = 0
gcd x y = x `mod` (x `mod` x)
gcd x 0 = 0
gcd x y = x `mod` (x `mod` y)
gcd x 0 = 0
gcd x y = x `mod` (x `mod` 0)
gcd x 0 = 0
gcd x y = x `mod` (y `mod` x)
gcd x 0 = 0
gcd x y = x `mod` (y `mod` y)
gcd x 0 = 0
gcd x y = x `mod` (y `mod` 0)
gcd x 0 = 0
gcd x y = x `mod` (0 `mod` x)
gcd x 0 = 0
gcd x y = x `mod` (0 `mod` y)
gcd x 0 = 0
gcd x y = y `mod` (x `mod` x)
gcd x 0 = 0
gcd x y = y `mod` (x `mod` y)
gcd x 0 = 0
gcd x y = y `mod` (x `mod` 0)
gcd x 0 = 0
gcd x y = y `mod` (y `mod` x)
gcd x 0 = 0
gcd x y = y `mod` (y `mod` y)
gcd x 0 = 0
gcd x y = y `mod` (y `mod` 0)
gcd x 0 = 0
gcd x y = y `mod` (0 `mod` x)
gcd x 0 = 0
gcd x y = y `mod` (0 `mod` y)
gcd x 0 = 0
gcd x y = 0 `mod` (x `mod` x)
gcd x 0 = 0
gcd x y = 0 `mod` (x `mod` y)
gcd x 0 = 0
gcd x y = 0 `mod` (x `mod` 0)
gcd x 0 = 0
gcd x y = 0 `mod` (y `mod` x)
gcd x 0 = 0
gcd x y = 0 `mod` (y `mod` y)
gcd x 0 = 0
gcd x y = 0 `mod` (y `mod` 0)
gcd x 0 = 0
gcd x y = 0 `mod` (0 `mod` x)
gcd x 0 = 0
gcd x y = 0 `mod` (0 `mod` y)
gcd x 0 = x `mod` x
gcd x y = x `mod` y
gcd x 0 = x `mod` x
gcd x y = x `mod` 0
gcd x 0 = x `mod` x
gcd x y = y `mod` x
gcd x 0 = x `mod` x
gcd x y = y `mod` y
gcd x 0 = x `mod` x
gcd x y = y `mod` 0
gcd x 0 = x `mod` x
gcd x y = 0 `mod` x
gcd x 0 = x `mod` x
gcd x y = 0 `mod` y
gcd x 0 = x `mod` 0
gcd x y = x `mod` x
gcd x 0 = x `mod` 0
gcd x y = y `mod` x
gcd x 0 = x `mod` 0
gcd x y = y `mod` y
gcd x 0 = x `mod` 0
gcd x y = y `mod` 0
gcd x 0 = x `mod` 0
gcd x y = 0 `mod` x
gcd x 0 = x `mod` 0
gcd x y = 0 `mod` y
gcd x 0 = 0 `mod` x
gcd x y = x `mod` x
gcd x 0 = 0 `mod` x
gcd x y = x `mod` y
gcd x 0 = 0 `mod` x
gcd x y = x `mod` 0
gcd x 0 = 0 `mod` x
gcd x y = y `mod` y
gcd x 0 = 0 `mod` x
gcd x y = y `mod` 0
gcd x 0 = 0 `mod` x
gcd x y = 0 `mod` y
gcd x 0 = (x `mod` x) `mod` x
gcd x y = x
gcd x 0 = (x `mod` x) `mod` x
gcd x y = y
gcd x 0 = (x `mod` x) `mod` x
gcd x y = 0
gcd x 0 = (x `mod` x) `mod` 0
gcd x y = x
gcd x 0 = (x `mod` x) `mod` 0
gcd x y = y
gcd x 0 = (x `mod` x) `mod` 0
gcd x y = 0
gcd x 0 = (x `mod` 0) `mod` x
gcd x y = x
gcd x 0 = (x `mod` 0) `mod` x
gcd x y = y
gcd x 0 = (x `mod` 0) `mod` x
gcd x y = 0
gcd x 0 = (x `mod` 0) `mod` 0
gcd x y = x
gcd x 0 = (x `mod` 0) `mod` 0
gcd x y = y
gcd x 0 = (x `mod` 0) `mod` 0
gcd x y = 0
gcd x 0 = (0 `mod` x) `mod` x
gcd x y = x
gcd x 0 = (0 `mod` x) `mod` x
gcd x y = y
gcd x 0 = (0 `mod` x) `mod` x
gcd x y = 0
gcd x 0 = (0 `mod` x) `mod` 0
gcd x y = x
gcd x 0 = (0 `mod` x) `mod` 0
gcd x y = y
gcd x 0 = (0 `mod` x) `mod` 0
gcd x y = 0
gcd x 0 = x `mod` (x `mod` x)
gcd x y = x
gcd x 0 = x `mod` (x `mod` x)
gcd x y = y
gcd x 0 = x `mod` (x `mod` x)
gcd x y = 0
gcd x 0 = x `mod` (x `mod` 0)
gcd x y = x
gcd x 0 = x `mod` (x `mod` 0)
gcd x y = y
gcd x 0 = x `mod` (x `mod` 0)
gcd x y = 0
gcd x 0 = x `mod` (0 `mod` x)
gcd x y = x
gcd x 0 = x `mod` (0 `mod` x)
gcd x y = y
gcd x 0 = x `mod` (0 `mod` x)
gcd x y = 0
gcd x 0 = 0 `mod` (x `mod` x)
gcd x y = x
gcd x 0 = 0 `mod` (x `mod` x)
gcd x y = y
gcd x 0 = 0 `mod` (x `mod` x)
gcd x y = 0
gcd x 0 = 0 `mod` (x `mod` 0)
gcd x y = x
gcd x 0 = 0 `mod` (x `mod` 0)
gcd x y = y
gcd x 0 = 0 `mod` (x `mod` 0)
gcd x y = 0
gcd x 0 = 0 `mod` (0 `mod` x)
gcd x y = x
gcd x 0 = 0 `mod` (0 `mod` x)
gcd x y = y
gcd x 0 = 0 `mod` (0 `mod` x)
gcd x y = 0
gcd 0 x = x
gcd x y = (x `mod` x) `mod` x
gcd 0 x = x
gcd x y = (x `mod` x) `mod` y
gcd 0 x = x
gcd x y = (x `mod` x) `mod` 0
gcd 0 x = x
gcd x y = (x `mod` y) `mod` x
gcd 0 x = x
gcd x y = (x `mod` y) `mod` y
gcd 0 x = x
gcd x y = (x `mod` y) `mod` 0
gcd 0 x = x
gcd x y = (x `mod` 0) `mod` x
gcd 0 x = x
gcd x y = (x `mod` 0) `mod` y
gcd 0 x = x
gcd x y = (x `mod` 0) `mod` 0
gcd 0 x = x
gcd x y = (y `mod` x) `mod` x
gcd 0 x = x
gcd x y = (y `mod` x) `mod` y
gcd 0 x = x
gcd x y = (y `mod` x) `mod` 0
gcd 0 x = x
gcd x y = (y `mod` y) `mod` x
gcd 0 x = x
gcd x y = (y `mod` y) `mod` y
gcd 0 x = x
gcd x y = (y `mod` y) `mod` 0
gcd 0 x = x
gcd x y = (y `mod` 0) `mod` x
gcd 0 x = x
gcd x y = (y `mod` 0) `mod` y
gcd 0 x = x
gcd x y = (y `mod` 0) `mod` 0
gcd 0 x = x
gcd x y = (0 `mod` x) `mod` x
gcd 0 x = x
gcd x y = (0 `mod` x) `mod` y
gcd 0 x = x
gcd x y = (0 `mod` x) `mod` 0
gcd 0 x = x
gcd x y = (0 `mod` y) `mod` x
gcd 0 x = x
gcd x y = (0 `mod` y) `mod` y
gcd 0 x = x
gcd x y = (0 `mod` y) `mod` 0
gcd 0 x = x
gcd x y = x `mod` (x `mod` x)
gcd 0 x = x
gcd x y = x `mod` (x `mod` y)
gcd 0 x = x
gcd x y = x `mod` (x `mod` 0)
gcd 0 x = x
gcd x y = x `mod` (y `mod` x)
gcd 0 x = x
gcd x y = x `mod` (y `mod` y)
gcd 0 x = x
gcd x y = x `mod` (y `mod` 0)
gcd 0 x = x
gcd x y = x `mod` (0 `mod` x)
gcd 0 x = x
gcd x y = x `mod` (0 `mod` y)
gcd 0 x = x
gcd x y = y `mod` (x `mod` x)
gcd 0 x = x
gcd x y = y `mod` (x `mod` y)
gcd 0 x = x
gcd x y = y `mod` (x `mod` 0)
gcd 0 x = x
gcd x y = y `mod` (y `mod` x)
gcd 0 x = x
gcd x y = y `mod` (y `mod` y)
gcd 0 x = x
gcd x y = y `mod` (y `mod` 0)
gcd 0 x = x
gcd x y = y `mod` (0 `mod` x)
gcd 0 x = x
gcd x y = y `mod` (0 `mod` y)
gcd 0 x = x
gcd x y = 0 `mod` (x `mod` x)
gcd 0 x = x
gcd x y = 0 `mod` (x `mod` y)
gcd 0 x = x
gcd x y = 0 `mod` (x `mod` 0)
gcd 0 x = x
gcd x y = 0 `mod` (y `mod` x)
gcd 0 x = x
gcd x y = 0 `mod` (y `mod` y)
gcd 0 x = x
gcd x y = 0 `mod` (y `mod` 0)
gcd 0 x = x
gcd x y = 0 `mod` (0 `mod` x)
gcd 0 x = x
gcd x y = 0 `mod` (0 `mod` y)
gcd 0 x = 0
gcd x y = (x `mod` x) `mod` x
gcd 0 x = 0
gcd x y = (x `mod` x) `mod` y
gcd 0 x = 0
gcd x y = (x `mod` x) `mod` 0
gcd 0 x = 0
gcd x y = (x `mod` y) `mod` x
gcd 0 x = 0
gcd x y = (x `mod` y) `mod` y
gcd 0 x = 0
gcd x y = (x `mod` y) `mod` 0
gcd 0 x = 0
gcd x y = (x `mod` 0) `mod` x
gcd 0 x = 0
gcd x y = (x `mod` 0) `mod` y
gcd 0 x = 0
gcd x y = (x `mod` 0) `mod` 0
gcd 0 x = 0
gcd x y = (y `mod` x) `mod` x
gcd 0 x = 0
gcd x y = (y `mod` x) `mod` y
gcd 0 x = 0
gcd x y = (y `mod` x) `mod` 0
gcd 0 x = 0
gcd x y = (y `mod` y) `mod` x
gcd 0 x = 0
gcd x y = (y `mod` y) `mod` y
gcd 0 x = 0
gcd x y = (y `mod` y) `mod` 0
gcd 0 x = 0
gcd x y = (y `mod` 0) `mod` x
gcd 0 x = 0
gcd x y = (y `mod` 0) `mod` y
gcd 0 x = 0
gcd x y = (y `mod` 0) `mod` 0
gcd 0 x = 0
gcd x y = (0 `mod` x) `mod` x
gcd 0 x = 0
gcd x y = (0 `mod` x) `mod` y
gcd 0 x = 0
gcd x y = (0 `mod` x) `mod` 0
gcd 0 x = 0
gcd x y = (0 `mod` y) `mod` x
gcd 0 x = 0
gcd x y = (0 `mod` y) `mod` y
gcd 0 x = 0
gcd x y = (0 `mod` y) `mod` 0
gcd 0 x = 0
gcd x y = x `mod` (x `mod` x)
gcd 0 x = 0
gcd x y = x `mod` (x `mod` y)
gcd 0 x = 0
gcd x y = x `mod` (x `mod` 0)
gcd 0 x = 0
gcd x y = x `mod` (y `mod` x)
gcd 0 x = 0
gcd x y = x `mod` (y `mod` y)
gcd 0 x = 0
gcd x y = x `mod` (y `mod` 0)
gcd 0 x = 0
gcd x y = x `mod` (0 `mod` x)
gcd 0 x = 0
gcd x y = x `mod` (0 `mod` y)
gcd 0 x = 0
gcd x y = y `mod` (x `mod` x)
gcd 0 x = 0
gcd x y = y `mod` (x `mod` y)
gcd 0 x = 0
gcd x y = y `mod` (x `mod` 0)
gcd 0 x = 0
gcd x y = y `mod` (y `mod` x)
gcd 0 x = 0
gcd x y = y `mod` (y `mod` y)
gcd 0 x = 0
gcd x y = y `mod` (y `mod` 0)
gcd 0 x = 0
gcd x y = y `mod` (0 `mod` x)
gcd 0 x = 0
gcd x y = y `mod` (0 `mod` y)
gcd 0 x = 0
gcd x y = 0 `mod` (x `mod` x)
gcd 0 x = 0
gcd x y = 0 `mod` (x `mod` y)
gcd 0 x = 0
gcd x y = 0 `mod` (x `mod` 0)
gcd 0 x = 0
gcd x y = 0 `mod` (y `mod` x)
gcd 0 x = 0
gcd x y = 0 `mod` (y `mod` y)
gcd 0 x = 0
gcd x y = 0 `mod` (y `mod` 0)
gcd 0 x = 0
gcd x y = 0 `mod` (0 `mod` x)
gcd 0 x = 0
gcd x y = 0 `mod` (0 `mod` y)
gcd 0 x = x `mod` x
gcd x y = x `mod` y
gcd 0 x = x `mod` x
gcd x y = x `mod` 0
gcd 0 x = x `mod` x
gcd x y = y `mod` x
gcd 0 x = x `mod` x
gcd x y = y `mod` 0
gcd 0 x = x `mod` x
gcd x y = 0 `mod` x
gcd 0 x = x `mod` x
gcd x y = 0 `mod` y
gcd 0 x = x `mod` 0
gcd x y = x `mod` x
gcd 0 x = x `mod` 0
gcd x y = x `mod` y
gcd 0 x = x `mod` 0
gcd x y = y `mod` y
gcd 0 x = x `mod` 0
gcd x y = 0 `mod` x
gcd 0 x = x `mod` 0
gcd x y = 0 `mod` y
gcd 0 x = 0 `mod` x
gcd x y = x `mod` x
gcd 0 x = 0 `mod` x
gcd x y = x `mod` 0
gcd 0 x = 0 `mod` x
gcd x y = y `mod` x
gcd 0 x = 0 `mod` x
gcd x y = y `mod` y
gcd 0 x = 0 `mod` x
gcd x y = y `mod` 0
gcd 0 x = (x `mod` x) `mod` x
gcd x y = x
gcd 0 x = (x `mod` x) `mod` x
gcd x y = y
gcd 0 x = (x `mod` x) `mod` x
gcd x y = 0
gcd 0 x = (x `mod` x) `mod` 0
gcd x y = x
gcd 0 x = (x `mod` x) `mod` 0
gcd x y = y
gcd 0 x = (x `mod` x) `mod` 0
gcd x y = 0
gcd 0 x = (x `mod` 0) `mod` x
gcd x y = x
gcd 0 x = (x `mod` 0) `mod` x
gcd x y = y
gcd 0 x = (x `mod` 0) `mod` x
gcd x y = 0
gcd 0 x = (x `mod` 0) `mod` 0
gcd x y = x
gcd 0 x = (x `mod` 0) `mod` 0
gcd x y = y
gcd 0 x = (x `mod` 0) `mod` 0
gcd x y = 0
gcd 0 x = (0 `mod` x) `mod` x
gcd x y = x
gcd 0 x = (0 `mod` x) `mod` x
gcd x y = y
gcd 0 x = (0 `mod` x) `mod` x
gcd x y = 0
gcd 0 x = (0 `mod` x) `mod` 0
gcd x y = x
gcd 0 x = (0 `mod` x) `mod` 0
gcd x y = y
gcd 0 x = (0 `mod` x) `mod` 0
gcd x y = 0
gcd 0 x = x `mod` (x `mod` x)
gcd x y = x
gcd 0 x = x `mod` (x `mod` x)
gcd x y = y
gcd 0 x = x `mod` (x `mod` x)
gcd x y = 0
gcd 0 x = x `mod` (x `mod` 0)
gcd x y = x
gcd 0 x = x `mod` (x `mod` 0)
gcd x y = y
gcd 0 x = x `mod` (x `mod` 0)
gcd x y = 0
gcd 0 x = x `mod` (0 `mod` x)
gcd x y = x
gcd 0 x = x `mod` (0 `mod` x)
gcd x y = y
gcd 0 x = x `mod` (0 `mod` x)
gcd x y = 0
gcd 0 x = 0 `mod` (x `mod` x)
gcd x y = x
gcd 0 x = 0 `mod` (x `mod` x)
gcd x y = y
gcd 0 x = 0 `mod` (x `mod` x)
gcd x y = 0
gcd 0 x = 0 `mod` (x `mod` 0)
gcd x y = x
gcd 0 x = 0 `mod` (x `mod` 0)
gcd x y = y
gcd 0 x = 0 `mod` (x `mod` 0)
gcd x y = 0
gcd 0 x = 0 `mod` (0 `mod` x)
gcd x y = x
gcd 0 x = 0 `mod` (0 `mod` x)
gcd x y = y
gcd 0 x = 0 `mod` (0 `mod` x)
gcd x y = 0