The program gen.py generates an .owl file, a .scala file with the reasoning task and a constraints (cd2) file.

Input for the generator: n, the number of objects in the world. The objects are taken from the pool of {Human, Drone, Tree, WetDrone}, the objects have a role "environment" connecting them to the weather {Snow, Rain, Sunny, Foggy} (if it is sunny there are no wet drones). Any "unsunny" weather and WetDrone imply LowVisibility. The generator randomly assigns distances from the main actor drone -- not part of the world -- to these objects. The weather is the same for all objects. The main actor drone is either big or small. Its required operating distances depends on the size.

Example run:
python3 gen.py 3 {-name example}

With the bracket part it will generate three files, "example.owl", "example.scala" and "example.txt", which describe a world with 3 agents of random distance to the main drone. If -name is not specified, default names are "ddist3.txt / owl / scala".

if we try to descrease the constraint redundancy, it is solved faster
