Download
language Essence 1.3
given n : int(1..) $ The size of the wheel
letting V be domain int(0..2*n) $ The vertices
letting E be domain int(0..3*n-1) $ The Edges
letting Colours be domain int(0..3*n) $ The colours
letting W be domain int(0..n-1) $ The wheel
letting C be 2*n $ The centre
find colouring : function(total,injective) V --> Colours
find edgeID : function(total,injective) E --> Colours
such that
$ Wheel is graceful
forAll v : W .
edgeID(v) = |colouring(v)-colouring((v+1)%n)|,
$ satellites are graceful
forAll v : W .
edgeID(v+n) = |colouring(v)-colouring(v+n)|,
$ connections to centre are graceful
forAll v : W .
edgeID(v+2*n) = |colouring(C)-colouring(v)|