async d(4). a(30). c(30). a(A):-b(A). a(A):-d(A). b(3,A):-a(A),not c(B),a(B). task(A):-b(A,B). task(3)? ---- ---- task(3) -> b(3, 30) -> a(30) -> not c(4) -> a(4) -> d(4) ---- ---- (no newline)