/* de Bruijn sequence k:5, n:4 The following is a de Bruijn sequence of a k=5 sized alphabet with string length of n=4 See my program that generates the sequence: http://www.hakank.org/comb/debruijn.cgi?k=5&n=4&submit=Ok Cf debruijn_5_4.conf */ import util. data(debruijn_5_4,Data,Vars,Unknown,Ops,Constants,MaxSize,Params) :- Data = [ [[A,B,C,D],E] : [A,B,C,D,E] in chunks_of([ 0,0,0,0,1, 0,0,0,1,0, 0,0,1,0,0, 0,1,0,0,0, 1,0,0,0,2, 0,0,0,2,0, 0,0,2,0,0, 0,2,0,0,0, 2,0,0,0,3, 0,0,0,3,0, 0,0,3,0,0, 0,3,0,0,0, 3,0,0,0,4, 0,0,0,4,0, 0,0,4,0,0, 0,4,0,0,1, 4,0,0,1,1, 0,0,1,1,0, 0,1,1,0,0, 1,1,0,0,1, 1,0,0,1,2, 0,0,1,2,0, 0,1,2,0,0, 1,2,0,0,1, 2,0,0,1,3, 0,0,1,3,0, 0,1,3,0,0, 1,3,0,0,1, 3,0,0,1,4, 0,0,1,4,0, 0,1,4,0,0, 1,4,0,0,2, 4,0,0,2,1, 0,0,2,1,0, 0,2,1,0,0, 2,1,0,0,2, 1,0,0,2,2, 0,0,2,2,0, 0,2,2,0,0, 2,2,0,0,2, 2,0,0,2,3, 0,0,2,3,0, 0,2,3,0,0, 2,3,0,0,2, 3,0,0,2,4, 0,0,2,4,0, 0,2,4,0,0, 2,4,0,0,3, 4,0,0,3,1, 0,0,3,1,0, 0,3,1,0,0, 3,1,0,0,3, 1,0,0,3,2, 0,0,3,2,0, 0,3,2,0,0, 3,2,0,0,3, 2,0,0,3,3, 0,0,3,3,0, 0,3,3,0,0, 3,3,0,0,3, 3,0,0,3,4, 0,0,3,4,0, 0,3,4,0,0, 3,4,0,0,4, 4,0,0,4,1, 0,0,4,1,0, 0,4,1,0,0, 4,1,0,0,4, 1,0,0,4,2, 0,0,4,2,0, 0,4,2,0,0, 4,2,0,0,4, 2,0,0,4,3, 0,0,4,3,0, 0,4,3,0,0, 4,3,0,0,4, 3,0,0,4,4, 0,0,4,4,0, 0,4,4,0,1, 4,4,0,1,0, 4,0,1,0,1, 0,1,0,1,0, 1,0,1,0,2, 0,1,0,2,0, 1,0,2,0,1, 0,2,0,1,0, 2,0,1,0,3, 0,1,0,3,0, 1,0,3,0,1, 0,3,0,1,0, 3,0,1,0,4, 0,1,0,4,0, 1,0,4,0,1, 0,4,0,1,1, 4,0,1,1,1, 0,1,1,1,0, 1,1,1,0,1, 1,1,0,1,1, 1,0,1,1,2, 0,1,1,2,0, 1,1,2,0,1, 1,2,0,1,1, 2,0,1,1,3, 0,1,1,3,0, 1,1,3,0,1, 1,3,0,1,1, 3,0,1,1,4, 0,1,1,4,0, 1,1,4,0,1, 1,4,0,1,2, 4,0,1,2,1, 0,1,2,1,0, 1,2,1,0,1, 2,1,0,1,2, 1,0,1,2,2, 0,1,2,2,0, 1,2,2,0,1, 2,2,0,1,2, 2,0,1,2,3, 0,1,2,3,0, 1,2,3,0,1, 2,3,0,1,2, 3,0,1,2,4, 0,1,2,4,0, 1,2,4,0,1, 2,4,0,1,3, 4,0,1,3,1, 0,1,3,1,0, 1,3,1,0,1, 3,1,0,1,3, 1,0,1,3,2, 0,1,3,2,0, 1,3,2,0,1, 3,2,0,1,3, 2,0,1,3,3, 0,1,3,3,0, 1,3,3,0,1, 3,3,0,1,3, 3,0,1,3,4, 0,1,3,4,0, 1,3,4,0,1, 3,4,0,1,4, 4,0,1,4,1, 0,1,4,1,0, 1,4,1,0,1, 4,1,0,1,4, 1,0,1,4,2, 0,1,4,2,0, 1,4,2,0,1, 4,2,0,1,4, 2,0,1,4,3, 0,1,4,3,0, 1,4,3,0,1, 4,3,0,1,4, 3,0,1,4,4, 0,1,4,4,0, 1,4,4,0,2, 4,4,0,2,0, 4,0,2,0,2, 0,2,0,2,0, 2,0,2,0,3, 0,2,0,3,0, 2,0,3,0,2, 0,3,0,2,0, 3,0,2,0,4, 0,2,0,4,0, 2,0,4,0,2, 0,4,0,2,1, 4,0,2,1,1, 0,2,1,1,0, 2,1,1,0,2, 1,1,0,2,1, 1,0,2,1,2, 0,2,1,2,0, 2,1,2,0,2, 1,2,0,2,1, 2,0,2,1,3, 0,2,1,3,0, 2,1,3,0,2, 1,3,0,2,1, 3,0,2,1,4, 0,2,1,4,0, 2,1,4,0,2, 1,4,0,2,2, 4,0,2,2,1, 0,2,2,1,0, 2,2,1,0,2, 2,1,0,2,2, 1,0,2,2,2, 0,2,2,2,0, 2,2,2,0,2, 2,2,0,2,2, 2,0,2,2,3, 0,2,2,3,0, 2,2,3,0,2, 2,3,0,2,2, 3,0,2,2,4, 0,2,2,4,0, 2,2,4,0,2, 2,4,0,2,3, 4,0,2,3,1, 0,2,3,1,0, 2,3,1,0,2, 3,1,0,2,3, 1,0,2,3,2, 0,2,3,2,0, 2,3,2,0,2, 3,2,0,2,3, 2,0,2,3,3, 0,2,3,3,0, 2,3,3,0,2, 3,3,0,2,3, 3,0,2,3,4, 0,2,3,4,0, 2,3,4,0,2, 3,4,0,2,4, 4,0,2,4,1, 0,2,4,1,0, 2,4,1,0,2, 4,1,0,2,4, 1,0,2,4,2, 0,2,4,2,0, 2,4,2,0,2, 4,2,0,2,4, 2,0,2,4,3, 0,2,4,3,0, 2,4,3,0,2, 4,3,0,2,4, 3,0,2,4,4, 0,2,4,4,0, 2,4,4,0,3, 4,4,0,3,0, 4,0,3,0,3, 0,3,0,3,0, 3,0,3,0,4, 0,3,0,4,0, 3,0,4,0,3, 0,4,0,3,1, 4,0,3,1,1, 0,3,1,1,0, 3,1,1,0,3, 1,1,0,3,1, 1,0,3,1,2, 0,3,1,2,0, 3,1,2,0,3, 1,2,0,3,1, 2,0,3,1,3, 0,3,1,3,0, 3,1,3,0,3, 1,3,0,3,1, 3,0,3,1,4, 0,3,1,4,0, 3,1,4,0,3, 1,4,0,3,2, 4,0,3,2,1, 0,3,2,1,0, 3,2,1,0,3, 2,1,0,3,2, 1,0,3,2,2, 0,3,2,2,0, 3,2,2,0,3, 2,2,0,3,2, 2,0,3,2,3, 0,3,2,3,0, 3,2,3,0,3, 2,3,0,3,2, 3,0,3,2,4, 0,3,2,4,0, 3,2,4,0,3, 2,4,0,3,3, 4,0,3,3,1, 0,3,3,1,0, 3,3,1,0,3, 3,1,0,3,3, 1,0,3,3,2, 0,3,3,2,0, 3,3,2,0,3, 3,2,0,3,3, 2,0,3,3,3, 0,3,3,3,0, 3,3,3,0,3, 3,3,0,3,3, 3,0,3,3,4, 0,3,3,4,0, 3,3,4,0,3, 3,4,0,3,4, 4,0,3,4,1, 0,3,4,1,0, 3,4,1,0,3, 4,1,0,3,4, 1,0,3,4,2, 0,3,4,2,0, 3,4,2,0,3, 4,2,0,3,4, 2,0,3,4,3, 0,3,4,3,0, 3,4,3,0,3, 4,3,0,3,4, 3,0,3,4,4, 0,3,4,4,0, 3,4,4,0,4, 4,4,0,4,0, 4,0,4,0,4, 0,4,0,4,1, 4,0,4,1,1, 0,4,1,1,0, 4,1,1,0,4, 1,1,0,4,1, 1,0,4,1,2, 0,4,1,2,0, 4,1,2,0,4, 1,2,0,4,1, 2,0,4,1,3, 0,4,1,3,0, 4,1,3,0,4, 1,3,0,4,1, 3,0,4,1,4, 0,4,1,4,0, 4,1,4,0,4, 1,4,0,4,2, 4,0,4,2,1, 0,4,2,1,0, 4,2,1,0,4, 2,1,0,4,2, 1,0,4,2,2, 0,4,2,2,0, 4,2,2,0,4, 2,2,0,4,2, 2,0,4,2,3, 0,4,2,3,0, 4,2,3,0,4, 2,3,0,4,2, 3,0,4,2,4, 0,4,2,4,0, 4,2,4,0,4, 2,4,0,4,3, 4,0,4,3,1, 0,4,3,1,0, 4,3,1,0,4, 3,1,0,4,3, 1,0,4,3,2, 0,4,3,2,0, 4,3,2,0,4, 3,2,0,4,3, 2,0,4,3,3, 0,4,3,3,0, 4,3,3,0,4, 3,3,0,4,3, 3,0,4,3,4, 0,4,3,4,0, 4,3,4,0,4, 3,4,0,4,4, 4,0,4,4,1, 0,4,4,1,0, 4,4,1,0,4, 4,1,0,4,4, 1,0,4,4,2, 0,4,4,2,0, 4,4,2,0,4, 4,2,0,4,4, 2,0,4,4,3, 0,4,4,3,0, 4,4,3,0,4, 4,3,0,4,4, 3,0,4,4,4, 0,4,4,4,1, 4,4,4,1,1, 4,4,1,1,1, 4,1,1,1,1, 1,1,1,1,2, 1,1,1,2,1, 1,1,2,1,1, 1,2,1,1,1, 2,1,1,1,3, 1,1,1,3,1, 1,1,3,1,1, 1,3,1,1,1, 3,1,1,1,4, 1,1,1,4,1, 1,1,4,1,1, 1,4,1,1,2, 4,1,1,2,2, 1,1,2,2,1, 1,2,2,1,1, 2,2,1,1,2, 2,1,1,2,3, 1,1,2,3,1, 1,2,3,1,1, 2,3,1,1,2, 3,1,1,2,4, 1,1,2,4,1, 1,2,4,1,1, 2,4,1,1,3, 4,1,1,3,2, 1,1,3,2,1, 1,3,2,1,1, 3,2,1,1,3, 2,1,1,3,3, 1,1,3,3,1, 1,3,3,1,1, 3,3,1,1,3, 3,1,1,3,4, 1,1,3,4,1, 1,3,4,1,1, 3,4,1,1,4, 4,1,1,4,2, 1,1,4,2,1, 1,4,2,1,1, 4,2,1,1,4, 2,1,1,4,3, 1,1,4,3,1, 1,4,3,1,1, 4,3,1,1,4, 3,1,1,4,4, 1,1,4,4,1, 1,4,4,1,2, 4,4,1,2,1, 4,1,2,1,2, 1,2,1,2,1, 2,1,2,1,3, 1,2,1,3,1, 2,1,3,1,2, 1,3,1,2,1, 3,1,2,1,4, 1,2,1,4,1, 2,1,4,1,2, 1,4,1,2,2, 4,1,2,2,2, 1,2,2,2,1, 2,2,2,1,2, 2,2,1,2,2, 2,1,2,2,3, 1,2,2,3,1, 2,2,3,1,2, 2,3,1,2,2, 3,1,2,2,4, 1,2,2,4,1, 2,2,4,1,2, 2,4,1,2,3, 4,1,2,3,2, 1,2,3,2,1, 2,3,2,1,2, 3,2,1,2,3, 2,1,2,3,3, 1,2,3,3,1, 2,3,3,1,2, 3,3,1,2,3, 3,1,2,3,4, 1,2,3,4,1, 2,3,4,1,2, 3,4,1,2,4, 4,1,2,4,2, 1,2,4,2,1, 2,4,2,1,2, 4,2,1,2,4, 2,1,2,4,3, 1,2,4,3,1, 2,4,3,1,2, 4,3,1,2,4, 3,1,2,4,4, 1,2,4,4,1, 2,4,4,1,3, 4,4,1,3,1, 4,1,3,1,3, 1,3,1,3,1, 3,1,3,1,4, 1,3,1,4,1, 3,1,4,1,3, 1,4,1,3,2, 4,1,3,2,2, 1,3,2,2,1, 3,2,2,1,3, 2,2,1,3,2, 2,1,3,2,3, 1,3,2,3,1, 3,2,3,1,3, 2,3,1,3,2, 3,1,3,2,4, 1,3,2,4,1, 3,2,4,1,3, 2,4,1,3,3, 4,1,3,3,2, 1,3,3,2,1, 3,3,2,1,3, 3,2,1,3,3, 2,1,3,3,3, 1,3,3,3,1, 3,3,3,1,3, 3,3,1,3,3, 3,1,3,3,4, 1,3,3,4,1, 3,3,4,1,3, 3,4,1,3,4, 4,1,3,4,2, 1,3,4,2,1, 3,4,2,1,3, 4,2,1,3,4, 2,1,3,4,3, 1,3,4,3,1, 3,4,3,1,3, 4,3,1,3,4, 3,1,3,4,4, 1,3,4,4,1, 3,4,4,1,4, 4,4,1,4,1, 4,1,4,1,4, 1,4,1,4,2, 4,1,4,2,2, 1,4,2,2,1, 4,2,2,1,4, 2,2,1,4,2, 2,1,4,2,3, 1,4,2,3,1, 4,2,3,1,4, 2,3,1,4,2, 3,1,4,2,4, 1,4,2,4,1, 4,2,4,1,4, 2,4,1,4,3, 4,1,4,3,2, 1,4,3,2,1, 4,3,2,1,4, 3,2,1,4,3, 2,1,4,3,3, 1,4,3,3,1, 4,3,3,1,4, 3,3,1,4,3, 3,1,4,3,4, 1,4,3,4,1, 4,3,4,1,4, 3,4,1,4,4, 4,1,4,4,2, 1,4,4,2,1, 4,4,2,1,4, 4,2,1,4,4, 2,1,4,4,3, 1,4,4,3,1, 4,4,3,1,4, 4,3,1,4,4, 3,1,4,4,4, 1,4,4,4,2, 4,4,4,2,2, 4,4,2,2,2, 4,2,2,2,2, 2,2,2,2,3, 2,2,2,3,2, 2,2,3,2,2, 2,3,2,2,2, 3,2,2,2,4, 2,2,2,4,2, 2,2,4,2,2, 2,4,2,2,3, 4,2,2,3,3, 2,2,3,3,2, 2,3,3,2,2, 3,3,2,2,3, 3,2,2,3,4, 2,2,3,4,2, 2,3,4,2,2, 3,4,2,2,4, 4,2,2,4,3, 2,2,4,3,2, 2,4,3,2,2, 4,3,2,2,4, 3,2,2,4,4, 2,2,4,4,2, 2,4,4,2,3, 4,4,2,3,2, 4,2,3,2,3, 2,3,2,3,2, 3,2,3,2,4, 2,3,2,4,2, 3,2,4,2,3, 2,4,2,3,3, 4,2,3,3,3, 2,3,3,3,2, 3,3,3,2,3, 3,3,2,3,3, 3,2,3,3,4, 2,3,3,4,2, 3,3,4,2,3, 3,4,2,3,4, 4,2,3,4,3, 2,3,4,3,2, 3,4,3,2,3, 4,3,2,3,4, 3,2,3,4,4, 2,3,4,4,2, 3,4,4,2,4, 4,4,2,4,2, 4,2,4,2,4, 2,4,2,4,3, 4,2,4,3,3, 2,4,3,3,2, 4,3,3,2,4, 3,3,2,4,3, 3,2,4,3,4, 2,4,3,4,2, 4,3,4,2,4, 3,4,2,4,4, 4,2,4,4,3, 2,4,4,3,2, 4,4,3,2,4, 4,3,2,4,4, 3,2,4,4,4, 2,4,4,4,3, 4,4,4,3,3, 4,4,3,3,3, 4,3,3,3,3, 3,3,3,3,4, 3,3,3,4,3, 3,3,4,3,3, 3,4,3,3,4, 4,3,3,4,4, 3,3,4,4,3, 3,4,4,3,4, 4,4,3,4,3, 4,3,4,3,4, 3,4,3,4,4, 4,3,4,4,4, 3,4,4,4,4, 4,4,4,4,0, 4,4,4,0,0, 4,4,0,0,0 ],5)], Ops = [+,/,-,*,mod,pow_mod2,if_then_else,!=,==], Constants = 0..6, Vars = ['A','B','C','D'], Unknown = [1,1,1,1], MaxSize = 11, Params = new_map([init_size=100]).