You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.8 KiB
50 lines
1.8 KiB
include "idpd3/idpd3_voc.idp" |
|
|
|
vocabulary V_out { |
|
extern vocabulary idpd3::V_out |
|
extern vocabulary V |
|
|
|
type isLabel constructed from {t, f} |
|
toKey(Area, isLabel) : key |
|
toLink(Area, Area) : key |
|
error(Area) |
|
x(Area) : width |
|
y(Area) : width |
|
toLabel(Area) : label |
|
color(Color) : color |
|
} |
|
|
|
|
|
theory T_D3 : V_out { |
|
{ |
|
error(g1) <- Coloring(g1) = k & Coloring(g2) = k & Border(g1, g2). |
|
error(g1) <- Coloring(g1) = k & Coloring(g2) = k & Border(g2, g1). |
|
} |
|
{ |
|
d3_type(1, k) = circ <- toKey(g, f) = k. |
|
d3_circ_r(1, k) = 2 <- toKey(g, f) = k. |
|
d3_x(1, k) = x <- false. |
|
d3_y(1, k) = y <- false. |
|
d3_color(1, k) = c <- toKey(g, f) = k & c = color(Coloring(g)). |
|
d3_node(1, k) <- toKey(g, f) = k. |
|
|
|
d3_type(1, k) = link <- toLink(g1, g2) = k & Border(g1, g2). |
|
d3_link_from(1, k) = k1 <- toLink(g1, g2) = k & Border(g1, g2) & toKey(g1, f) = k1. |
|
d3_link_to(1, k) = k1 <- toLink(g1, g2) = k & Border(g1, g2) & toKey(g2, f) = k1. |
|
d3_link_width(1, k) = 5 <- toLink(g1, g2) = k & Border(g1, g2). |
|
d3_color(1, k) = "red" <- toLink(g1, g2) = k & Border(g1, g2) & Coloring(g1) = Coloring(g2). |
|
d3_color(1, k) = "gray" <- toLink(g1, g2) = k & Border(g1, g2) & Coloring(g1) ~= Coloring(g2). |
|
|
|
/*d3_type(1, k) = text <- toKey(g, t) = k. |
|
d3_label(1, k) = toLabel(g) <- toKey(g, t) = k. |
|
d3_x(1, k) = 2 * y(g) + 1 <- toKey(g, t) = k. |
|
d3_y(1, k) = 2 * x(g) <- toKey(g, t) = k. |
|
d3_color(1, k) = "black" <- toKey(g, t) = k./**/ |
|
d3_rect_height(1, x) = y <- false. |
|
d3_rect_width(1, x) = y <- false. |
|
d3_text_size(1, x) = y <- false. |
|
} |
|
|
|
!t : ! x: d3_width(t) = x => ~?y : x<y. |
|
!t : ! x: d3_height(t) = x => ~?y : x<y. |
|
}
|
|
|