node:type. a:node. b:node. c:node. d:node. edge: node -> node -> type. e_ab: edge a b. e_ac: edge a c. e_ba: edge b a. e_bd: edge b d. reach': node -> node -> type. %tabled reach'. r_cl' : reach' X Y <- reach' X Z <- edge Z Y. r_refl': reach' X X. %querytabled * 5 (reach' a X).