fork download
  1. % 人者
  2. ().().().().
  3.  
  4. % 异者(定义谁与谁不同)
  5. (,).(,).(,).
  6. (,).(,).
  7. (,).
  8.  
  9. % 互异之理
  10. 相异(,) :-(,).
  11. 相异(,) :-(,).
  12.  
  13. % 独一之理:其为独一,余为剩余
  14. 独一人(某人, 某性质) :-(某人),
  15. 剩余者(, 某性质), 剩余者(, 某性质),
  16. 剩余者(, 某性质), 剩余者(, 某性质).
  17. 剩余者(, 某性质) :-(), 独一人(某人, 某性质), 相异(,某人).
  18.  
  19. % 盗者之理:有一人为盗
  20. 为盗() :- 独一人(,).
  21. 非盗() :- 剩余者(,).
  22.  
  23. % 言者之理:有一人言真
  24. 言真() :- 独一人(,).
  25. 言伪() :- 剩余者(,).
  26.  
  27. % 四人之言
  28. 甲言 :- 言伪(), 为盗().
  29. 甲言 :- 言真(), 非盗().
  30.  
  31. 乙言 :- 言伪(), 非盗().
  32. 乙言 :- 言真(), 为盗().
  33.  
  34. 丙言 :- 言伪(), 非盗().
  35. 丙言 :- 言真(), 为盗().
  36.  
  37. 丁言 :- 言伪(), 为盗().
  38. 丁言 :- 言真(), 非盗().
  39.  
  40. % 言皆合理
  41. 言合 :- 甲言, 乙言, 丙言, 丁言.
  42.  
  43. % 究其真伪
  44. ?- 为盗(), 言真(), 言合.
Success #stdin #stdout #stderr 0.02s 6964KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
Warning: /home/5ge9vt/prog:44:
	Goal (directive) failed: user:(为盗(贼),言真(诚),言合)
ERROR: '$runtoplevel'/0: Undefined procedure: program/0
   Exception: (3) program ? EOF: exit