The following model outputs one solution and then hangs if you run it with
minizinc -a:
include "globals.mzn";
var 1..1: B;
var 1..1 union 4..4: C;
var 2..4: D;
var 2..2 union 4..4: E;
var 1..1 union 4..4: F;
var 3..4: G;
var 2..2 union 4..4: H;
var 3..4: J;
var 1..1 union 4..4: K;
constraint sort([C,K,G,D],[F,E,H,J]);
constraint [F,E,H,J][B] = C;
solve :: int_search([B,D,F,K,C,E,G,H,J], input_order, indomain) satisfy;