% file: Chinese

% Chinese dialects
%   dataset, originally gathered by Xu Tongqiang and processed by Wang Feng, 
%   described in 
%      "On detecting borrowing: distance-based and character-based approaches," 
%       (Diachronica, 2:2:289-330, 2003)
%   by James W. Minett and William S.-Y. Wang .

% 7 dialects

const k=6.

leaf(0..k).

% Xiang

 f(0,1,1).
 f(0,2,1).
 f(0,3,1).
 f(0,4,1).
 f(0,5,1).
 f(0,6,1).
 f(0,7,1).
 f(0,8,1).
 f(0,9,1).
 f(0,10,1).
 f(0,11,1).
 f(0,12,3).
 f(0,13,1).
 f(0,14,3).
 f(0,15,1).

% Gan

 f(1,1,1).
 f(1,2,1).
 f(1,3,1).
 f(1,4,2).
 f(1,5,1).
 f(1,6,2).
 f(1,7,1).
 f(1,8,3).
 f(1,9,2).
 f(1,10,1).
 f(1,11,2).
 f(1,12,5).
 f(1,13,1).
 f(1,14,1).
 f(1,15,1).

% Wu

 f(2,1,1).
 f(2,2,1).
 f(2,3,1).
 f(2,4,2).
 f(2,5,2).
 f(2,6,1).
 f(2,7,1).
 f(2,8,2).
 f(2,9,2).
 f(2,10,3).
 f(2,11,1).
 f(2,12,1).
 f(2,13,1).
 f(2,14,4).
 f(2,15,2).

% Mandarin

 f(3,1,1).
 f(3,2,3).
 f(3,3,1).
 f(3,4,1).
 f(3,5,3).
 f(3,6,3).
 f(3,7,2).
 f(3,8,2).
 f(3,9,2).
 f(3,10,1).
 f(3,11,1).
 f(3,12,4).
 f(3,13,1).
 f(3,14,1).
 f(3,15,3).

% Hakka

 f(4,1,2).
 f(4,2,2).
 f(4,3,2).
 f(4,4,2).
 f(4,5,4).
 f(4,6,2).
 f(4,7,2).
 f(4,8,1).
 f(4,9,1).
 f(4,10,2).
 f(4,11,2).
 f(4,12,2).
 f(4,13,2).
 f(4,14,2).
 f(4,15,5).

% Min

 f(5,1,2).
 f(5,2,2).
 f(5,3,2).
 f(5,4,1).
 f(5,5,5).
 f(5,6,2).
 f(5,7,2).
 f(5,8,1).
 f(5,9,1).
 f(5,10,2).
 f(5,11,2).
 f(5,12,2).
 f(5,13,2).
 f(5,14,1).
 f(5,15,2).

% Yue

 f(6,1,2).
 f(6,2,1).
 f(6,3,1).
 f(6,4,2).
 f(6,5,2).
 f(6,6,2).
 f(6,7,2).
 f(6,8,1).
 f(6,9,1).
 f(6,10,2).
 f(6,11,3).
 f(6,12,1).
 f(6,13,1).
 f(6,14,2).
 f(6,15,4).

% characters and states

character(I) :- f(X,I,S).
state(S) :- f(X,I,S).

% informative characters

informative_character(9).  informative_character(14).
informative_character(5).  informative_character(1).
informative_character(2).  informative_character(3).
informative_character(10).  informative_character(12).
informative_character(13).  informative_character(15).
informative_character(7).  informative_character(6).
informative_character(11).  informative_character(8).
informative_character(4).  

% essential states

essential_state(9,2).  essential_state(4,2).  essential_state(8,2).
essential_state(11,2).  essential_state(6,2).  essential_state(7,2).
essential_state(15,2).  essential_state(13,2).  essential_state(12,2).
essential_state(10,2).  essential_state(3,2).  essential_state(2,2).
essential_state(1,2).  essential_state(5,2).  essential_state(14,2).
essential_state(15,1).  essential_state(13,1).  essential_state(10,1).
essential_state(7,1).  essential_state(5,1).  essential_state(3,1).
essential_state(2,1).  essential_state(1,1).  essential_state(11,1).
essential_state(6,1).  essential_state(4,1).  essential_state(14,1).
essential_state(9,1).  essential_state(8,1).  essential_state(12,1).

% redundant constraint
:- not edge(12,11).

