Am 02.07.2012 15:29, schrieb zephyr:
zephyr wrote
> I want to use "magick" of logical insert to keep dynamically changing
> inferred facts up to date. The problem are cyclic dependences:
>
> "a -> b" means "when a than insertLogical( new b()) end"
>
> a -> b
> b -> c
> c -> b
>
> when i insert "a" b and c are correctly inferred (they check equals so it
> doesnt loop)
> but when i remove a they persist, as they make they're rules active
> because ot the cycle
>
> is there a good way to remove such logical facts not supported by inserted
> data?
>
[...]
Hmm maybe there is some kind of better way to deal with this.
b -> c
c -> b
in other words: b and c are logically equivalent.
You can remove one of your symbols b or c and just work with the
remaining one. b and c will always have the same truth value (true/false).
If this does not help, please let me know a bit more about your use case.
Best regards
Ansgar