Family cousins
Insight
The derivation produced 25 new fact(s) from 15 stated fact(s).
Main conclusion: :Judy :cousin :Ivan.
Selected conclusions:
- :Judy :cousin :Ivan .
- :Judy :cousin :Heidi .
- :Ivan :cousin :Judy .
- :Heidi :cousin :Judy .
- :Judy :generation 3 .
- :Ivan :generation 3 .
Explanation
The generated JavaScript starts from 15 compiled source fact(s), applies 4 compiled rule(s), and stops only after a fixpoint is reached.
A compact derivation path is:
- Rule 1: if true, then :Adam :generation 0. This produced :Adam :generation 0 .
- Rule 2: if ?P :parentOf ?C; ?P :generation ?G; (?G 1) math:sum ?G1, then ?C :generation ?G1. This produced :Bob :generation 1 .
- Premises used:
- :Adam :parentOf :Bob . (source fact)
- :Adam :generation 0 . (derived fact)
- Rule 2: if ?P :parentOf ?C; ?P :generation ?G; (?G 1) math:sum ?G1, then ?C :generation ?G1. This produced :Carol :generation 1 .
- Premises used:
- :Adam :parentOf :Carol . (source fact)
- :Adam :generation 0 . (derived fact)
- Rule 3: if ?P :parentOf ?C; ?P :branch ?B, then ?C :branch ?B. This produced :Heidi :branch :b .
- Premises used:
- :Dave :parentOf :Heidi . (source fact)
- :Dave :branch :b . (source fact)
- Rule 3: if ?P :parentOf ?C; ?P :branch ?B, then ?C :branch ?B. This produced :Ivan :branch :b .
- Premises used:
- :Eve :parentOf :Ivan . (source fact)
- :Eve :branch :b . (source fact)
- Rule 3: if ?P :parentOf ?C; ?P :branch ?B, then ?C :branch ?B. This produced :Judy :branch :c .
- Premises used:
- :Frank :parentOf :Judy . (source fact)
- :Frank :branch :c . (source fact)
- Rule 2: if ?P :parentOf ?C; ?P :generation ?G; (?G 1) math:sum ?G1, then ?C :generation ?G1. This produced :Dave :generation 2 .
- Premises used:
- :Bob :parentOf :Dave . (source fact)
- :Bob :generation 1 . (derived fact)
- Rule 2: if ?P :parentOf ?C; ?P :generation ?G; (?G 1) math:sum ?G1, then ?C :generation ?G1. This produced :Eve :generation 2 .
- Premises used:
- :Bob :parentOf :Eve . (source fact)
- :Bob :generation 1 . (derived fact)
Evidence
These are the derived non-input facts selected for the report. Source facts that support the explanation are shown inline with each derivation step.
:Adam :generation 0 .
:Bob :generation 1 .
:Carol :generation 1 .
:Heidi :branch :b .
:Ivan :branch :b .
:Judy :branch :c .
:Dave :generation 2 .
:Eve :generation 2 .
:Frank :generation 2 .
:Grace :generation 2 .
:Dave :cousin :Frank .
:Dave :cousin :Grace .
:Eve :cousin :Frank .
:Eve :cousin :Grace .
:Frank :cousin :Dave .
:Frank :cousin :Eve .
:Grace :cousin :Dave .
:Grace :cousin :Eve .
:Heidi :generation 3 .
:Ivan :generation 3 .
:Judy :generation 3 .
:Heidi :cousin :Judy .
:Ivan :cousin :Judy .
:Judy :cousin :Heidi .
:Judy :cousin :Ivan .